vue中watch监听数组或者对象
2021-03-19 15:17:36
898次阅读
0个评论
1、普通的watch
2、数组的watch
3、对象的watch
tips: 只要bet中的属性发生变化(可被监测到的),便会执行handler函数;
如果想监测具体的属性变化,如pokerHistory变化时,才执行handler函数,则可以利用计算属性computed做中间层。
事例如下:
4、对象具体属性的watch[活用computed]
data() {
return {
frontPoints: 0
}
},
watch: {
frontPoints(newValue, oldValue) {
console.log(newValue)
}
}
2、数组的watch
data() {
return {
winChips: new Array(11).fill(0)
}
},
watch: {
winChips: {
handler(newValue, oldValue) {
for (let i = 0; i < newValue.length; i++) {
if (oldValue[i] != newValue[i]) {
console.log(newValue)
}
}
},
deep: true
}
}
3、对象的watch
data() {
return {
bet: {
pokerState: 53,
pokerHistory: 'local'
}
}
},
watch: {
bet: {
handler(newValue, oldValue) {
console.log(newValue)
},
deep: true
}
}
tips: 只要bet中的属性发生变化(可被监测到的),便会执行handler函数;
如果想监测具体的属性变化,如pokerHistory变化时,才执行handler函数,则可以利用计算属性computed做中间层。
事例如下:
4、对象具体属性的watch[活用computed]
data() {
return {
bet: {
pokerState: 53,
pokerHistory: 'local'
}
}
},
computed: {
pokerHistory() {
return this.bet.pokerHistory
}
},
watch: {
pokerHistory(newValue, oldValue) {
console.log(newValue)
}
}
00
- 0回答
- 1粉丝
- 0关注
相关话题
- Vue中v-for数组删除第n项元素时自动删除最后一项错误
- vue中keep-alive,include指定页面使用缓存
- js 对象复制
- Vue3.2 setup语法糖中组件的 name 属性如何定义
- Chrome下多屏、长页面或者元素截图
- 使用commons-vfs监听文件系统
- 对象拷贝类PropertyUtils,BeanUtils,BeanCopier比较
- jQuery监听输入框值赋值变化
- 使用commons-io-2.0监听文件变化
- Vue基础知识
- Springboot中WebMvcConfigurer中可配置项
- vue2 动态组件
- Vue2和Vue3在v-for遍历时ref获取dom节点
- vue 3 的watchEffect 使用方法
- Markdown 中忽略 HTML 标签