请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为啥要用setTimeout

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

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2017-09-14 23:11:08

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

0 回复 有任何疑惑可以回复我~
  • 老师,请问下怎么理解"mounted 是可以获取到 DOM,但是 DOM 并未真正渲染到页面上"这句话?能取到dom不久意味着已经渲染到页面上了吗?
    回复 有任何疑惑可以回复我~ 2019-08-02 18:19:19
  • 这个早期的 Vue 会有这个问题,现在版本的 Vue 应该在 mounted 钩子就可以拿到 DOM 了。
    回复 有任何疑惑可以回复我~ 2019-08-03 09:42:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信