以下是一些使用 $nextTick 的示例:
- 基本示例
new Vue({
el: '#app',
data() {
return {
count: 0
};
},
methods: {
increment() {
this.count++;
this.$nextTick(() => {
// 在 DOM 更新后执行
console.log('Updated DOM count:', this.$el.querySelector('h1').textContent);
});
}
}
});
在这个示例中,每当 increment 方法被调用时,count 更新后,$nextTick 确保回调在 DOM 更新后执行。
- 在组件中使用
Vue.component('my-component', {
template: `<div>{{ text }}</div>`,
data() {
return {
text: 'Initial Text'
};
},
methods: {
updateText() {
this.text = 'Updated Text';
this.$nextTick(() => {
console.log('DOM updated to:', this.$el.textContent);
});
}
}
});
在这个示例中,updateText 方法更新了组件的文本,并使用 $nextTick 打印出更新后的内容。