vue中onmounted周期里获取不到dom的原因及分析
vue onmounted周期里获取不到dom的原因
在onmounted里可以获取到任意一个静态的dom,注意,这里说的是静态dom,对于动态dom,他是获取不到的
动态dom有2种情况
1)带有v-if指令,获取不到值为false的那个dom
2)带有v-for指令,当初始化时,要循环的数组没有值,这个时候是获取不到相关dom的
重点:
有v-show指令时,即使值为false,依旧能获取到相应的dom,切记他和v-if不一样
解决方法
1)在nexttick中获取dom
2)在onUpdated中获取dom
vue3获取dom遇到的坑
项目前端引入manco.editor 的时候,如果要获取代码编辑器内的内容的话,需要使用toRaw获取源dom才可以获取到值。
比如getValue(),如果直接用editor.value去获取就会有问题。
以及v-if中的值在改变的时候会重新刷新组件以及重置dom。
v-show不会重置dom。所以选择使用。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
VUE中setTimeout和setInterval自动销毁案例
这篇文章主要介绍了VUE中setTimeout和setInterval自动销毁案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-09-09element中el-container容器与div布局区分详解
这篇文章主要介绍了element中el-container容器与div布局区分详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05
最新评论