为啥要用setTimeout

来源:4-4 轮播图组件实现(上)

梦星魂1

2017-09-14

老师好,在mounted这个勾子里的方法,不是已经保证dom已经渲染完了吗,为啥还要用setTimeout 或者nextTick, 我把它去掉以后,程序也是可以正确获取dom的

写回答

1回答

ustbhuangyi

2017-09-14

mounted 是可以获取到 DOM,但是 DOM 并未真正渲染到页面上,所以如果你是依赖 DOM 的一些宽度高度啥的,就必须要延迟一个 tick。

0
2
ustbhuangyi
回复
慕莱坞0998854
这个早期的 Vue 会有这个问题,现在版本的 Vue 应该在 mounted 钩子就可以拿到 DOM 了。
2019-08-03
共2条回复

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3804 问题

查看课程