這篇文章跟大家分享了vue偵測物件和陣列的變化的相關知識點與實例程式碼,有興趣的朋友參考下。
在 JavaScript 中物件和陣列是參考類型,指向同一個記憶體空間,如果 prop 是物件或數組,在子元件內部改變它會影響父元件的狀態。可以直接在子元件修改物件或數組,但是並不會資料改變就會引起變化。
偵測物件變化
1、無法偵測到物件屬性的新增或刪除
var vm = new Vue({ data:{ data111:{ a = 1 } } })
data111.a = 2;//這個可以引起變化
但data111.b = 2;和vm.b = 2這個不能偵測到變化
#需要用
Vue.set(object, key, value)
例如
$set(data111, b, 2);
或:
$set(key,value)
例如
vm.$set(‘b', 2);
檢測數組變化
下面兩種情況無法偵測到變化:
1、直接透過索引設定元素,如arr[0]=12;
#2、直接修改陣列的長度,如vm.arr.length
Vue.set( object, key, value )
用法:
this.$set(this.arr,0,12)
以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!
相關推薦:
#
以上是關於vue檢測物件和陣列的變化分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!