入门网站建设,广告设计是干什么的,网上如何申请注册公司,wordpress 忘记用户名密码el-dialog子组件在mounted周期内获取不到dom#xff1f;一、问题描述二、分析原因三、猜测正常父子组件在mounted生命周期内可以获得dom 父created—子created—子mounted—父mounted----子updated—父updated 一、问题描述
** el-dialog控制显示隐藏是css控制的display…
el-dialog子组件在mounted周期内获取不到dom一、问题描述二、分析原因三、猜测正常父子组件在mounted生命周期内可以获得dom 父created—子created—子mounted—父mounted----子updated—父updated 一、问题描述
** el-dialog控制显示隐藏是css控制的displaynone ** 在一个弹出框里放Echarts图表。众所周知Vue里是在mounted生命周期里才能获取到DOM于是我理所应当的 在mounted阶段用document.querySelector()以及this.$refs获取元素均获取不到。用两种方式获取元素打印出来的结果都是undefined。 有解答说用this.nextTick(function(){…})试了一下在我这个场景中结果还是undefined 二、分析原因 在mounted阶段若需要获取的元素或组件有v-ifv-for属性。 v-if的初始化结果为false。v-for遍历的数组初始化阶段无值。即mounted阶段后根据获得的后台数据来动态操作dom这两种情况都会导致mounted阶段获取元素的语句获取不到dom。 链接: https://blog.csdn.net/weixin_44582045/article/details/124662065 三、猜测 报错找不到DOM无法生成echarts。但mounted里不应该发生这种情况的所以只有一种可能性那就是el-dialog和v-if一样采用默认不生成DOM的方式只有在弹框出现时才会生成。知道了问题所在就好解决了 链接: https://blog.csdn.net/Naaaano/article/details/122349588
// 弹框的触发事件
openDialog() {this.$nextTick(() {获取dom})
}
或者在子updated生命周期内也可以获得dom