$nextTick

what is $nextTick

理解 $nextTick 的作用

Vue 实现响应式,并不是数据发生变化之后 DOM 立即变化, 而是按 一定的策略 进行 DOM 的更新。

$nextTick() 是 DOM 更新循環「結束」時觸發的方法http://jsbin.com/ciguqej/edit?html,console,output

在修改数据之后使用 $nextTick,可以获取「更新后的 DOM」。

new Vue({
  methods: {
    example: function () {
      // 0. 進入 function
      this.message = 'changed'
      // 1. 改變 data 數據
      // 2. DOM 還沒更新
      this.$nextTick( function () {
        // 3. DOM 現在更新、立即執行此 function
        // `this` 綁定到當前實例 (example)
        this.doSomethingElse()
      })
      // 4. 此行位於程式末尾
    }
  }
})
// 順序為 0-1-2-4-3

考虑这样一种场景, 你有一个 jQuery 插件, 希望在 DOM 元素中某些属性发生变化之后,重新应用该插件, 这时候就需要在 $nextTick 的回调函数中执行重新应用插件的方法。


補充:Vue 生命周期 (但沒提到 $nexttick,應該是在 updatebed 附近)

results for ""

    No results matching ""