vue watch監聽對象及對應值的變化


直接通過watch監聽對象,對象的屬性值變化並不會觸發這個監聽,通過查文檔發現還有一個屬性deep:true,可以深入監聽,

 
         
   data:{
        return { eleDate:{ a: '對象a', b: '對象b' } } }, watch: { eleDate: { handler: (val, olVal) => { console.log('我變化了', val, olVal)//但是val和olVal值一樣 }, deep: true } },
 
        

但是監聽到的新舊值是一樣的,所以通過computed和watch使用

    data:{
        return {
            eleDate:{
                a: '對象a',
                b: '對象b'
            }
        }     
    },
    watch: {
      eleDateNew: {
        handler: (val, olVal) => {
          console.log('我變化了', val, olVal)
        },
        deep: true
      }
    },
    computed: {
      eleDateNew() {
        return JSON.parse(JSON.stringify(this.eleDate))
      }
    }                    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM