watch
注意
名字 你想监听哪个属性,就要和他起一样的名字
用来监听vue实例中的数据变化
可以随时修改状态的变化
当你监听的属性发生变化时,会自动调用对应的监听方法
用于异步处理,开销比较大的运算
watch:{
name(newvalue,oldvalue){
//计算属性可以接受两个参数,第一个参数是新的属性值,第二参数是老的属性值
// this.age
// console.log('name属性发生变化了')
console.log(newvalue,oldvalue)
}
<script>
export default {
data() {
return {
obj: {
name: "张三",
age: 20,
children: [
{
name: "李四",
age: 27
},
{
name: "王五",
age: 23
}
]
}
};
},
watch: {
obj: {
handler: function(newVal, oldVal) {
console.log("newVal:", newVal);
console.log("oldVal:", oldVal);
},
deep: true,
immediate: true
},
"obj.name": function(newVal, oldVal) {
console.log("newVal obj.name:", newVal);
console.log("oldVal obj.name:", oldVal);
}
},
};
</script>
监听对象的时候,需要加deep:true,这样才能深入底层去实时监听,如果没有加的话,对象是监听不到变化的。
immediate属性:布尔值
immediate:true:首次加载就监听数据变化
immediate:false:只有发生改变才监听
deep:true;
是开启深层次的监听,即所有属性都加上监听器,如果其中一个发生改变了就执行handler函数
到此,关于“vue中watch的触发条件及用法是什么呢”的学习就结束了,希望能够解决大家的疑惑,另外大家动手实践也很重要,对大家加深理解和学习很有帮助。如果想要学习更多的相关知识,欢迎关注群英网络资讯站,小编每天都会给大家分享实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理