vue 利用watch监听对象属性的变化

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

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

或者watch配合computed

export default {
    data() {
        return {
            obj: {
                b: 1,
                c: 2
            }
        }
    },
    watch() {
        bChange() {
            console.log('监听obj对象中b属性的变化');
        }
    },
   computed() {
      bChange() {
            return this.obj.b;
        }
   }
} 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容