在Vue中用来监听数据变化,是一个对象,内部由键和值构成,键是需要监听的data,值是监听的data变化时触发的函数。
deep
监听对象的变化,用监听普通对象的方式监听对象,是没有办法触发watch的,需要添加deep属性,深度监听对象,为每一个对象的值都添加一个监听器。
data(){ return { obj: { a: "1", b: "2" }, } },
watch:{ obj:{ handler(newval,oldval){ console.log(newval,oldval) }, deep: true } } 这样在对象的值发生改变的时候,就可以监听到数组的变化。也可以只监听对象中某一个key的变化,这样不添加deep属性也可以监听: watch: { name: "fun" }, methods: { fun(){ //函数体 } } 除此之外,监听的变量需要再data中定义,实际上提倡所有用到的变量都在data中定义,尽量避免在方法中为Vue添加新的data,一是为了消除依赖项跟踪系统的边界(在我理解看来就是为了更好地监听数据),而是为了提高代码的可维护性。
———————————————— 版权声明:本文为CSDN博主「Michelle_Yuki」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/Michelle_Yu…