vue watch普通监听和深度监听实例详解(数组和对象)

下面通过一段代码给大家介绍vue watch的普通监听和深度监听,具体代码如下所示:

var vm=new Vue({

data:{

num:1,

obj:{

name:'三儿',

age:'21',

sex:'女'

}

},

watch:{

num(val, oldVal){

//普通的watch监听

console.log(“num: “+val, oldVal);

},

obj:{

//深度监听,可监听到对象、数组的变化

handler(val, oldVal){

console.log(“obj.name: “+val.name, oldVal.name);

},

deep:true

}

}

})

vm.num=2

vm.obj.name='二儿'

 下面单独给大家介绍下vue-watch 深度监听

 watch:{} 对象,可监听数据,数据发生变化, 处理函数

目的: watch虽可监听,但只是浅监听,只监听数据第一层或者第二层,

何为第二层?

 let obj = {name: 'xx', child: {age: 11}};

  child之后的值就为第二层或者深层

实现目标: 如果 要监听一个对象中的属性,属性最高也是第二层了,watch可能监听不到,

  所有要使用深度监听:

实现代码:

watch: {

' user.phone ' : {

handel:function() { //特别注意,不能用箭头函数,箭头函数,this指向全局

处理函数

},

deep: true //深度监听

}

}

总结

以上所述是小编给大家介绍的vue watch普通监听和深度监听实例详解(数组和对象),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是 vue watch普通监听和深度监听实例详解(数组和对象) 的全部内容, 来源链接: utcz.com/z/353064.html

回到顶部