Vue監視資料的原理
阿新 • • 發佈:2021-10-05
-
vue會監視data中所有層次的資料。
-
如何監測物件中的資料?
通過setter實現監視,且要在new Vue時就傳入要監測的資料。
(1)物件中後追加的屬性,Vue預設不做響應式處理。
(2)如需給後新增的屬性做響應式處理,請使用如下API:
Vue.set(target,index/propertyName,value)
vm.$set(target,index/propertyName,value)
-
如何監測陣列中的資料?
通過包裹陣列更新元素的方法實現,本質就是做了兩件事情:
(1)呼叫原生對應的方法對陣列進行更新。
(2)重新解析模板,進而更新介面。
-
Vue修改陣列中的某個元素一定要用如下方法:
(1)使用這些API:
push()
pop()
shift():刪除頭一個
unshift():在開頭新增
splice(index,刪除個數,新增資料)
sort()
reverse()
(2)Vue.set() 或 vm.$set()
特別注意:Vue.set() 或 vm.$set()不能給vm或者vm根資料物件新增屬性!!!