在 JavaScript 中對象和數組是引用類型,指向同一個內存空間,如果 prop 是一個對象或數組,在子組件內部改變它會影響父組件的狀態(tài)??梢灾苯釉谧咏M件修改對象或數組,但是并不會數據改變就會引起變化。
檢測對象變化
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)
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com