最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決vue無法偵聽數(shù)組及對象屬性的變化問題

 更新時間:2020年07月17日 09:50:58   作者:sue7  
這篇文章主要介紹了解決vue無法偵聽數(shù)組及對象屬性的變化問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、數(shù)組

1、可以監(jiān)聽到的情況

如push、splice、=賦值(array=[1,2,3])

2、無法監(jiān)聽到的情況

使用下標(biāo)修改某個元素(這種比較常見)

array[index] = 1

object.a = 3

直接修改數(shù)組length

array.length = 5

3、解決方案

this.$set(array, index, data) - 這是個深度的修改,某些情況下可能導(dǎo)致你不希望的結(jié)果,因此最好還是慎用
this.dataArr = this.originArr
this.$set(this.dataArr, 0, {data: '修改第一個元素'})
console.log(this.dataArr)    
console.log(this.originArr)    //同樣的 源數(shù)組也會被修改 在某些情況下會導(dǎo)致你不希望的結(jié)果

上面提到的splice方法進(jìn)行增刪改

利用臨時變量進(jìn)行中轉(zhuǎn)

let tempArr = [...this.targetArr]
tempArr[0] = {data: 'test'}
this.targetArr = tempArr

二、對象

對象和數(shù)組都是js里的引用類型,在實際存儲中,數(shù)據(jù)是存儲在堆中的,利用存儲在棧里的對象名或者數(shù)組名的指針進(jìn)行索引,因此也存在在淺拷貝和深拷貝以及等號賦值時,到底是僅僅新建了一個指針指向了同一份數(shù)據(jù),還是兩個指針分別指向了兩份完全一樣的數(shù)據(jù)的問題

1、可以監(jiān)聽到的

對象的直接=賦值

this.obj = {name: 'test'}

2、無法監(jiān)聽到的

對象屬性的增刪改

obj: {
  prop1: 'data1',
  prop2: 'data2'
}
...
// 增
this.obj.prop3 = 'data3'
// 刪
delete this.obj.prop1
// 改
this.obj.prop1 = 'data4'

3、解決辦法

this.$set(obj, key ,value) - 可實現(xiàn)增、改
watch時添加deep:true深度監(jiān)聽,只能監(jiān)聽到屬性值的變化,新增、刪除屬性無法監(jiān)聽
this.$watch('blog', this.getCatalog, {
  deep: true
  // immediate: true // 是否第一次觸發(fā)
 });
watch時直接監(jiān)聽某個key
watch: {
 'obj.name'(curVal, oldVal) {
  // TODO
 }
}
object.assign()+直接=賦值
this.watchObj = Object.assign({}, this.watchObj, {
 name: 'xiaoyue',
 age: 15,
});

補充知識:vue 監(jiān)聽不到數(shù)組或?qū)ο笾档淖兓趺崔k

一、vue監(jiān)聽數(shù)組的變化

vue能購監(jiān)聽到數(shù)組變化的場景

通過賦值的形式改變正在被監(jiān)聽的數(shù)組;

通過splice(index, num, val) 的形式改變正在被監(jiān)聽的數(shù)組;

通過數(shù)組的push的形式改變正在被監(jiān)聽的數(shù)組。

vue無法監(jiān)聽數(shù)組變化的場景

通過數(shù)組索引改變數(shù)組元素的值;

改變數(shù)組的長度;

vue無法監(jiān)聽數(shù)組變化的場景

this.$set(arr, index, newVal);

通過splice(index,num,val);

使用臨時變量作為中轉(zhuǎn),重新賦值數(shù)組;

二、vue監(jiān)聽對象的變化

vue能夠監(jiān)聽到對象變化的場景

通過直接賦值的場景。

eg:watchObj = {name:“zyk”}

vue無法監(jiān)聽到對象變化的場景

對象的增加、刪除、修改無法被vue監(jiān)聽到

vue解決無法監(jiān)聽對象變化的方法

使用 this.$set(object, key, value)(vue 無法監(jiān)聽 this.set 修改原有屬性)

使用Object.assign(),直接賦值的原理;(推薦使用)

以上這篇解決vue無法偵聽數(shù)組及對象屬性的變化問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3中安裝使用vue-i18n實時切換語言且不用刷新

    vue3中安裝使用vue-i18n實時切換語言且不用刷新

    這篇文章主要介紹了vue3中安裝使用vue-i18n實時切換語言不用刷新問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue實現(xiàn)簡單圖片切換效果

    Vue實現(xiàn)簡單圖片切換效果

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)簡單圖片切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • vue中關(guān)于$emit和$on的使用及說明

    vue中關(guān)于$emit和$on的使用及說明

    這篇文章主要介紹了vue中關(guān)于$emit和$on的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue Cli 環(huán)境刪除與重裝教程 - 版本文檔

    vue Cli 環(huán)境刪除與重裝教程 - 版本文檔

    這篇文章主要介紹了vue Cli 環(huán)境刪除與重裝教程 - 版本文檔,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Vue路由組件通過props配置傳參的實現(xiàn)

    Vue路由組件通過props配置傳參的實現(xiàn)

    本文主要介紹了Vue路由組件通過props配置傳參的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Vue中錯誤圖片的處理的實現(xiàn)代碼

    Vue中錯誤圖片的處理的實現(xiàn)代碼

    這篇文章主要介紹了Vue中錯誤圖片的處理的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • vue3使用Pinia的store的組件化開發(fā)模式詳解

    vue3使用Pinia的store的組件化開發(fā)模式詳解

    這篇文章主要介紹了vue3使用Pinia的store的組件化開發(fā)模式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Vite?vue3多頁面入口打包以及部署踩坑實戰(zhàn)

    Vite?vue3多頁面入口打包以及部署踩坑實戰(zhàn)

    因為我們公司的項目是多頁面應(yīng)用,不同于傳統(tǒng)單頁面應(yīng)用,一個包就可以了,下面這篇文章主要給大家介紹了關(guān)于Vite?vue3多頁面入口打包以及部署踩坑的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • vue 解決無法對未定義的值,空值或基元值設(shè)置反應(yīng)屬性報錯問題

    vue 解決無法對未定義的值,空值或基元值設(shè)置反應(yīng)屬性報錯問題

    這篇文章主要介紹了vue 解決無法對未定義的值,空值或基元值設(shè)置反應(yīng)屬性報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue+elementUI組件tree如何實現(xiàn)單選加條件禁用

    vue+elementUI組件tree如何實現(xiàn)單選加條件禁用

    這篇文章主要介紹了vue+elementUI組件tree如何實現(xiàn)單選加條件禁用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論

长乐市| 香河县| 台安县| 黎平县| 封丘县| 岐山县| 泗洪县| 陈巴尔虎旗| 峨山| 辽源市| 延庆县| 阜康市| 瑞安市| 广丰县| 始兴县| 鄯善县| 敦煌市| 高密市| 平原县| 云阳县| 商水县| 遂川县| 南开区| 邹城市| 桦甸市| 兰考县| 礼泉县| 吉木萨尔县| 仲巴县| 敦化市| 安陆市| 阿拉善左旗| 栖霞市| 冕宁县| 南溪县| 高唐县| 保山市| 卢湾区| 蓝田县| 临武县| 高雄市|