在 JavaScript 中對象和數(shù)組是引用類型,指向同一個內(nèi)存空間,如果 prop 是一個對象或數(shù)組,在子組件內(nèi)部改變它會影響父組件的狀態(tài)??梢灾苯釉谧咏M件修改對象或數(shù)組,但是并不會數(shù)據(jù)改變就會引起變化。
檢測對象變化
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);
檢測數(shù)組變化
下面兩種情況不能檢測到變化:
1、直接通過索引設(shè)置元素,如arr[0]=12;
2、直接修改數(shù)組的長度,如vm.arr.length
Vue.set( object, key, value )
用法:
this.$set(this.arr,0,12)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com