博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<转> vue watch对象内的属性监听(备忘)
阅读量:4568 次
发布时间:2019-06-08

本文共 923 字,大约阅读时间需要 3 分钟。

https://www.jianshu.com/p/9ada0b5f04d5?utm_campaign

vue可以通过watch监听data内数据的变化。通常写法是:

new Vue({  data: {    a: 100,    msg:{        channel:'音乐',        style:'活泼'    }  },  watch: {    a: function (newval, oldVal) {      console.log('new: %s, old: %s', newval, oldVal)    }  }})

  

但是如果你要监听的数据是对象内的某一属性,直接watch对象的属性(eg:msg.channel)就会报错

而监听整个对象的时候(eg:msg)会发现无论何时newval和oldVal的值都是一样的,这是因为msg这个对象的指向并没有发生改变,所以需要深度监测

watch: {    msg: {        handler(newValue, oldValue) {            console.log(newValue)        },        deep: true    }}

如果监听对象内的某一具体属性,可以通过computed做中间层来实现

computed: {    channel() {        return this.msg.channel    }},watch:{    channel(newValue, oldValue) {        console.log('new: %s, old: %s', newval, oldVal)        //这里面可以执行一旦监听的值发生变化你想做的操作    }}

尊重版权哦!

作者:形影相随_371e
链接:https://www.jianshu.com/p/9ada0b5f04d5
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/lml2017/p/10870324.html

你可能感兴趣的文章
[c#]asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息
查看>>
[转载,感觉写的非常详细]DUBBO配置方式详解
查看>>
linux Valgrind使用说明-内存泄漏
查看>>
Android在Eclipse上的环境配置
查看>>
面向对象(五)
查看>>
android平台下使用点九PNG技术
查看>>
Python学习3,列表
查看>>
最长回文子串
查看>>
JAVA基础-JDBC(一)
查看>>
js中for和while运行速度比较
查看>>
算法第5章作业
查看>>
7.9 练习
查看>>
基于ArcGIS JS API的在线专题地图实现
查看>>
learnByWork
查看>>
lua 函数
查看>>
Git的基本命令
查看>>
四平方和
查看>>
第十八周 12.27-1.2
查看>>
C# IP地址字符串和数值转换
查看>>
TCHAR和CHAR类型的互转
查看>>