2017.11.18git操作/vm.$nextTick

git操作

在vue中操作節點的話,應該放在mounted生命周期中,因為mounted是DOM渲染結束后執行
http://blog.csdn.net/Wbiokr/article/details/77799291

vm.$nextTick()

但是今天遇到一個場景,就是請求是在created中異步請求數據的,而在mounted中操作DOM,確拿不到這個DOM,原因很簡單:因為請求是異步的,執行到 mounted的時候,數據還沒返回,所以根本也就沒有DOM可以拿到。

解決的方法:
使用$nextTick
vm.$nextTick([callback])

用法:
將回調延遲到下次DOM循環更新之后執行。在修改數據之后立即使用它,然后等待DOM更新。它跟全局的Vue.nextTick一樣,不同的是回調的this自動綁定到調用它的實例上。

示例:

new Vue({
  // ...
  methods: {
    // ...
    example: function () {
      // 修改數據
      this.message = 'changed'
      // DOM 還沒有更新
      this.$nextTick(function () {
        // DOM 現在更新了
        // `this` 綁定到當前實例
        this.doSomethingElse()
      })
    }
  }
})

filter沒有改變原數組

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容