一,watch和computed区别(各自处理的数据关系场景不同)
1.watch擅长处理的场景:一个数据影响多个数据
2.computed擅长处理的场景:一个数据受多个数据影响
二,
(1)watch最简单的监听
<input type="text" v-model="input">
watch: {
input(val) {
//
},
}
(2)handler处理器及immediate即时处理
// 例如父传子时,当子组件第一次接受值时的监听
props:['title']
watch:{
title: {
handler(newVal, oldVal) {
debugger
},
immediate: true,
},
}
(3)监听对象时 deep 深度监听
有以下几种方式
data() {
return {
data: {
id: 1,
name: 'sds'
}
}
},
watch: {
/***
* watch 监听对象的几种方法
* immediate:即时 第一次接受值时也监听到
* deep: 深度监听
*/
'data.name': {
handler(newVal, oldVal) {
debugger
},
// immediate: true,
deep: true
},
'data.id': {
handler(newVal, oldVal) {
debugger
},
// immediate: true,
deep: true
},
data: {
handler(newVal, oldVal) {
debugger
},
// immediate: true,
deep: true
},
},