Vue中用watch一次监听多个值变化的示例详解
作者:小白探索世界欧耶!~
在Vue中,watch 本身不能监听多个变量,但我们可以通过返回具有计算属性的对象然后监听该对象,从而实现一次性“监听多个变量”,本文给大家介绍了Vue中用watch一次监听两个值变化的示例,需要的朋友可以参考下
在Vue中,watch 本身不能监听多个变量。但我们可以通过返回具有计算属性的对象然后监听该对象,从而实现一次性“监听多个变量”。
- 在data中定义需要的属性
- 在computed中返回一个包含将被监听的的各个对象的计算属性
- 在watch中监听该计算属性
举个例子:
export default { data() { return { msg1: "message1", msg2: "message2" } }, computed: { msgObj() { const { msg1, msg2 } = this return { msg1, msg2 } } }, watch: { msgObj: { handler(newVal, oldVal) { //newVal和oldVal的值就是新旧msgObj的值,即msg1和msg2的值 //接下来在这里写将要进行的操作 if (newVal.msg1 != oldVal.msg1) { console.log( "msg1 is change!!!" ) } if (newVal.msg2 != oldVal.msg2) { console.log( "msg2 is change!!!" ) } }, deep: true } } }
这样,我们就实现了再watch中一次性监听两个值的变化。
想要一次性监听更多个值也可以这么操作。
以上就是Vue中用watch一次监听多个值变化的示例详解的详细内容,更多关于Vue watch一次监听多个值的资料请关注脚本之家其它相关文章!