问题背景
在一个老页面上渲染echarts,在vue的mounted里面使用this.$nextTick,无法获取到ref。也就是获取不到dom。
解决思路
一开始怀疑vue的版本不对,但是后来vue升级到 vue2.6.14,还是不行。
控制台也没有任何报错,页面能正常渲染。
这个时候我开始想,是不是使用的vuejs文件是生产版本,有些错误不报。
项目使用的一开始是vue.min.js,我切换了一下使用vue.js.果然,页面不能渲染了,报错了,模版预编译失败。
最终解决
预编译失败的原因是,html双向绑定的data里面的数据对象是未定义的。这可是难受了。把绑定对象加入到data,问题解决。
总结和反思
这种问题,提升了对vue生命周期的理解,明白了虚拟dom的能够生效的前提是:能够编译成功。如果没有能编译成功的话,那么mounted里面是无法正常挂载的。
标签:nextTick,Vue,渲染,编译,vue,解决,失效,页面 From: https://www.cnblogs.com/lovefoolself/p/18319183