前言

vue中第一次获取不到元素的解决办法,是否经常第一次点击弹窗按钮,获取弹窗中的元素。打开弹窗获取元素为空,要第二次才能获取。

一、更新dom后获取

this.$nextTick(callback)
methods: {
    play() {
        //获取元素
        console.log($('#video'));
        this.$nextTick(function() {
            //获取元素
            console.log($('#video'));
        });
    }
}

二、通过定时器获取

setTimeOut(fn, 0)
methods:{
    play() {
        //获取元素
        console.log($('#video'));
        setTimeOut(function(){
            //获取元素
            console.log($('#video'));
        }, 0);
    }
}

三、通过触发事件获取

@opened
<el-dialog @opened="play"></el-dialog>
 
methods: {
    play() {
        //获取元素
        console.log($('#video'));
    }
}

总结

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。