理解:
vue中的nextTick主要用于处理数据动态变化后,DOM还未及时更新的问题,用nextTick就可以获取数据更新后最新DOM的变化;
适用场景:
第一种:有时候需要根据数据动态的为页面某些DOM元素添加时间,这就要求在DOM元素渲染完毕时去设置,但是created与mounted函数执行时一般DOM并没有渲染完毕,所以就会出现获取不到,添加不了事件的问题,这就要用到nextTick处理;
第二种:在使用某个第三方插件时,希望在vue生成的某些DOM动态发生变化时重新应用该插件,也会用到该方法,这时候就需要$nextTick的回调函数中执行重新应用插件的方法,例如:应用滚动插件better-scroll时
mounted(){
this.$nextTick(()=>{
this._initScroll();
this._initPics();
})
}
_initScroll(){
if(!this.scroll){
this.scroll = new BScroll(this.$refs.seller,{
click:true
})
}else{
this.scroll.refresh();
}
}
第三种:数据改变后获取焦点