nextTick
- 语法:
this.$nextTick(回调函数)
- 作用:在下一次 DOM 更新结束后执行其指定的回调。
- 什么时候用:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行(
例如获取input焦点,如果input是下次更新才显示到页面的,则必须用nextTick,否则执行获取焦点的命令就不好使
)。
可以替代nextTick的方法
用setTimeout这个定时器设置延迟时间为0s
,然后将要基于更新后的新DOM进行的某些操作
放到setTimeout的回调函数中即可达到相同效果
解释:这是因为定时器的回调函数是异步操作,需要等主线上的js代码全部执行完才回执行它,而vue进行DOM的加载、渲染操作本质就是执行js代码,所以setTimeout的
回调函数
会在DOM全部加载完毕再执行,与nextTick有异曲同工之妙。