在 JavaScript 中對(duì)象和數(shù)組是引用類型,指向同一個(gè)內(nèi)存空間,如果 prop 是一個(gè)對(duì)象或數(shù)組,在子組件內(nèi)部改變它會(huì)影響父組件的狀態(tài)??梢灾苯釉谧咏M件修改對(duì)象或數(shù)組,但是并不會(huì)數(shù)據(jù)改變就會(huì)引起變化。
檢測(cè)對(duì)象變化
1、不能檢測(cè)到對(duì)象屬性的添加或刪除
var vm = new Vue({ data:{ data111:{ a = 1 } }})data111.a = 2;//這個(gè)可以引起變化
但data111.b = 2;和vm.b = 2這個(gè)不能檢測(cè)到變化
需要用
Vue.set(object, key, value)
比如$set(data111, b, 2);
或者:
$set(key,value)
比如vm.$set(‘b', 2);
檢測(cè)數(shù)組變化
下面兩種情況不能檢測(cè)到變化:
1、直接通過索引設(shè)置元素,如arr[0]=12;
2、直接修改數(shù)組的長(zhǎng)度,如vm.arr.length
Vue.set( object, key, value )
用法:
this.$set(this.arr,0,12)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注