Vue使用watch监听数组或对象的总结
时间:2020-03-16
本文章向大家介绍Vue使用watch监听数组或对象的总结,主要包括Vue使用watch监听数组或对象的总结使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、监听数组
1.watch能监听到数组的push的改变,例如
data () { return { demo: [1,2] } },
mounted (){
window.myVue = this
},
watch: { demo(val){ console.log(val) } }, myVue.demo.push(3) //[1,2,3]
2.watch 不能检测以下变动的数组:
-
- 当你利用索引直接设置一个项时,例如:myVue.demo[1] = 5
- 当你修改数组的长度时,例如:myVue.demo.length = 2
这时候你可以删除原有键,再 $set
一个新的,这样就可以触发watch
myVue.$set(myVue.demo,0,8) // [8,2,3]
3.更复杂一点,你想对数组嵌套对象进行监听的时候,这时就需要深度监听
data () { return { demo:[ { name:'张三', age:18 },
{ name:'李四', age:20 } ] } }, mounted (){ window.myVue = this }, watch: { demo: { handler (val) { console.log(val) }, // 这里是关键,代表递归监听 demo 的变化 deep: true } }, myVue.demo[0].age = 30 //[{name:'张三',age:30},{name:'李四',age:20}]
二、监听对象
1.可以类似上面数组的第3点
2.可以直接监听对象中的值
data () { return { demo:{ name: '张三', child: { name: '李四', age: 20 } } } }, mounted (){ window.myVue = this }, watch: { 'demo.name': { handler: function (val) { console.log(val) }, deep: true } }, myVue.demo.name = '王二' //王二
有其他好的办法欢迎留言指正
原文地址:https://www.cnblogs.com/zhujunislucky/p/12503403.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- swoole_process实现进程池的方法示例
- golang实现php里的serialize()和unserialize()序列和反序列方法详解
- keras 实现轻量级网络ShuffleNet教程
- Python应用实现处理excel数据过程解析
- Python实现爬取并分析电商评论
- python中怎么表示空值
- Keras自动下载的数据集/模型存放位置介绍
- Keras 切换后端方式(Theano和TensorFlow)
- python 字符串的驻留机制及优缺点
- php微信公众号开发之翻页查询
- php 中phar包的使用教程详解
- php微信公众号开发之快递查询
- Scrapy框架介绍之Puppeteer渲染的使用
- Keras设置以及获取权重的实现
- Java自动化测试(Android app界面元素 33)