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