1. 程式人生 > 其它 >vue監視資料原理總結

vue監視資料原理總結

1.vue會監視data中所有層次的資料。

2如何檢測物件中的資料?

  通過setter(會生成set方法)實現監視,且要在new Vue時就傳入要監測的資料(定義vue的data時定義好,vue就會自動把所有屬性的set方法生成)。

  (1)物件中後追加的屬性,vue預設不做響應式處理(響應式處理即:即時響應資料到頁面)

  (1)如需給後新增的屬性做響應式(物件新增屬性),請使用如下api:

    Vue.set(targer,propertyName/index,value) (第一個引數表示要給哪個物件裡面新增屬性(vue的例項物件._data.[找到自己要新增的物件])(或者vue的例項物件.自己要新增的例項物件),第二個引數是新增的屬性名或者陣列的索引,第三個引數是新增的屬性值)

      或者

    vue的例項物件.$set(targer,propertyName/index,value)引數同上

3.如何監測陣列中的資料?

  通過包裹陣列更新元素的方法實現,本質就是做了兩件事(即第四點裡面的方法做了如下兩件事):

    (1)呼叫原生對應的方法對陣列進行更新

    (2)重新解析模板,進而更新頁面

4.在vue修改陣列中的某個元素一定要用如下方法

  (1)使用這些api:push()、pop()、shift()、unshift()、splice()、sort()、reverse()

  (2)Vue.set()或者vue的例項物件.$set()

  注意!:上述(2)小點不能給vue例項物件或者vm的根資料物件(_data)新增屬性!