vue--》如何使用wacth监听对象的属性变化?

  在开发过程中,我们经常需要监听watch监听一个对象的变化,但是如何来实现     监听对象中属性的变化呢?

  先回顾一下如何监听整个对象的变化,使用watch就行了

export default {
    data() {
        return {
            a: {
                b: 1,
                c: 2
            }
        }
    },
    watch() {
        a: {
            handler(newVal, oldVal) {
                console.log('监听a整个对象的变化');
            },
            deep: true
        }
    }
}

  2.监听对象中具体属性的变化,需要使用watch配合computed

export default {
    data() {
        return {
            a: {
                b: 1,
                c: 2
            }
        }
    },
    watch() {
        bChange() {
            console.log('监听a对象中b属性的变化');
        }
    },
    computed: {
        bChange() {
            return this.a.b;
        }
    }
}

 

posted @ 2019-08-14 11:02  我是一名好程序员  阅读(3485)  评论(0编辑  收藏  举报