vue中將對象中新增的屬性增加到檢測序列中
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了沂南免費建站歡迎大家使用!
deepCopy(o1, o2) { // 將o2的內(nèi)容拷貝給data中的o1 var key, i if (o2 instanceof Array) { for (i = 0; i < o2.length; i++) { if (o2[i] instanceof Array) { this.$set(o1, i, []) this.deepCopy(o1[i], o2[i]) } else if (o2[i] instanceof Object) { this.$set(o1, i, {}) this.deepCopy(o1[i], o2[i]) } else { this.$set(o1, i, o2[i]) } } } else if (o2 instanceof Object) { for (key in o2) { if (o2[key] instanceof Array) { this.$set(o1, key, []) this.deepCopy(o1[key], o2[key]) } else if (o2[key] instanceof Object) { this.$set(o1, key, {}) this.deepCopy(o1[key], o2[key]) } else { this.$set(o1, key, o2[key]) } } } else { o1 = o2 } }
由于 Vue 不允許動態(tài)添加根級響應(yīng)式屬性,所以你必須在初始化實例前聲明根級響應(yīng)式屬性,哪怕只是一個空值
如果一個屬性沒有事先聲明,后面再增加,他不能檢測到變化,對于一些固定的結(jié)構(gòu),是可以檢測到變化的。比如我知道一個obj里面必然有key1、key2屬性,我可以事先初始化。如果這些東西是動態(tài)的,我沒法事先聲明。后面再增加,vue沒法檢測到變化了。
這時將你已經(jīng)在data中聲明的變量和你要賦給這個變量的值作為參數(shù)傳進該函數(shù)就行了
以上這篇vue將對象新增的屬性添加到檢測序列的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。