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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理