官方解释:将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上。
// 修改数据
this.message='changed'
console.log(this.$el.textContent)
// 输出的是原message的数据,因为重新设置message后,DOM还没有更新
Vue.nextTick*(function(){
console.log(this.$el.textContent)
// 输出得到'changed',nextTick()中的代码会在DOM更新后执行
}
Vue.component('example', {
template: '<span>{{ message }}</span>',
data: function () {
return {
message: 'not updated'
}
},
methods: {
updateMessage: function () {
this.message = 'updated'
console.log(this.$el.textContent) // => 'not updated'
this.$nextTick(function () {
console.log(this.$el.textContent) // => 'updated'
})
}
}
}