在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vue watch對(duì)象的所有屬性

vue watch對(duì)象的所有屬性

 let obj = {
        a: {type: 'type1'},
        b: {type: 'type2'},
        c: {type: 'type3'},
        ...
    }
    
假設(shè)我有一個(gè)對(duì)象,其中有多個(gè)不同(不確定長(zhǎng)度)的屬性,當(dāng)不同的屬性發(fā)生變化時(shí)所做的操作也是不同的,
所以不能直接watch obj本身,那我該怎么樣去watch到obj當(dāng)前哪個(gè)屬性發(fā)生變化呢
既要監(jiān)聽(tīng)有沒(méi)有屬性,又要監(jiān)聽(tīng)屬性所對(duì)應(yīng)的值
回答
編輯回答
毀與悔

1.watch整個(gè)對(duì)象的變化才是深度監(jiān)聽(tīng),如果要watch對(duì)象單個(gè)的屬性變化,需要用computed中間件過(guò)度一下;
2.貼上代碼:

data(){
      return{
        'first':{
          second:0
        }
      }
    },
    computed:{
      secondChange(){
        return this.first.second
      }
    },
    watch:{
      secondChange(){
        console.log('second屬性值變化了')
      }
    },

3.至于為什么computed作為中間件可以監(jiān)聽(tīng)到單個(gè)屬性變化?在vue中為什么可以通過(guò)computed屬性作為中間件,去監(jiān)聽(tīng)對(duì)象屬性的變化
4.另外我專門寫了一篇文章全面分析computed和watch:Vue的computed和watch的細(xì)節(jié)全面分析
5.可以一起討論下

2017年9月16日 06:31
編輯回答
嫑吢丕

加上deep: true進(jìn)行深度遍歷
clipboard.png

clipboard.png

clipboard.png

2018年4月23日 21:38