第一次点击弹窗按钮,获取弹窗中的元素。打开弹窗获取元素为空,要第二次才能获取。如下为解决方法:
一、this.$nextTick(callback)
通过更新dom后进行获取
methods:{
play(){
isShow = true;
//获取元素
console.log($('#video'));
this.$nextTick(function(){
//获取元素
console.log($('#video'));
});
}
}
二、setTimeOut(fn,0)
通过定时器获取
methods:{
play(){
isShow = true;
//获取元素
console.log($('#video'));
setTimeOut(function(){
//获取元素
console.log($('#video'));
}, 0);
}
}
三、@opened
通过触发打开事件获取
<el-dialog @opened="play"></el-dialog>
methods:{
play(){
//获取元素
console.log($('#video'));
}
}