$nextTick原理-四、示例

时间:2024-10-19 13:26:25

以下是一些使用 $nextTick 的示例:

  1. 基本示例
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 更新后执行。

  1. 在组件中使用
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 打印出更新后的内容。