watch中的深度监听
程序员文章站
2022-06-19 16:07:50
watch只要被监听的数据发生改变,就会触发对应的逻辑代码如果被监听的数据是个对象(或数组),对象(或数组)中的属性发生改变时,监听是不会触发上的
watch
- 只要被监听的数据发生改变,就会触发对应的逻辑代码
- 如果被监听的数据是个对象(或数组),对象(或数组)中的属性发生改变时,监听是不会触发上的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app">
姓名:<input type="text" v-model="obj.name"><br>
年龄:<input type="text " v-model="obj.age"><br>
<button @click="fn">
点我修改
</button>
</div>
</body>
<script src="./vue.js"></script>
<script>
// watch:
// 1.只要被监听的数据发生改变,就会触发对应的逻辑代码
// 2.如果被监听的数据是个对象,对象中的属性发生改变时,监听是不会触发上的
let vm = new Vue({
el: '#app',
data: {
obj: {
name: "xiaoming",
age: 18
}
},
watch: {
// obj: function () {
// console.log('obj改变了');
// },
// 单独监听obj中的name属性,只要其修改watch就会触发
'obj.name': function () {
console.log('obj改变了');
}
},
methods: {
fn() {
this.obj = {} // 修改了obj中的内在指向
// this.obj.name = "zhansang" //还是在obj中内存中修改不会触发watch
}
},
})
</script>
</html>
- 开启深度监听:只要obj中的任何一个属性发生改变,都会触发相应的代码
- 数组也是同样如此
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div id="app">
姓名:<input type="text" v-model="obj.name" /><br />
年龄:<input type="text " v-model="obj.age" /><br />
</div>
</body>
<script src="./vue.js"></script>
<script>
// watch:
// 1.只要被监听的数据发生改变,就会触发对应的逻辑代码
// 2.如果被监听的数据是个对象,对象中的属性发生改变时,监听是不会触发上的
let vm = new Vue({
el: '#app',
data: {
obj: {
name: 'xiaoming',
age: 18
}
},
watch: {
obj: {
handler: function () {
console.log('obj改变了')
},
// 开启深度监听:只要obj中的任何一个属性发生改变,都会触发相应的代码
deep: true
}
}
})
</script>
</html>
本文地址:https://blog.csdn.net/weixin_44757417/article/details/110181404
上一篇: WPS文字中怎么实现字数统计
下一篇: WPS演示中丰富多彩的移动效果
推荐阅读
-
Android中应用前后台切换监听的实现详解
-
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
-
linux下oracle报错,提示ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务的解决办法
-
vue组件中watch props根据v-if动态判断并挂载DOM的问题
-
深度解析产品运营推广中的手段
-
iOS应用开发中监听键盘事件的代码实例小结
-
vue中watch和computed为什么能监听到数据的改变以及不同之处
-
Android中的webview监听每次URL变化实例
-
详解Vue中watch的详细用法
-
解决vue中监听input只能输入数字及英文或者其他情况的问题