# watch监听Props属性值失败原因
在 vue
中监听响应式数据并进行逻辑处理是一个很常见的事情,但在一次业务中突然遇到监听 Props
属性值失败的问题:
props: {
testData: {
type: Object,
default: () => {}
}
}
// 这种写法属于会有响应的情况
watch(
() => props.testData,
(newValue, oldValue) => {
console.log(newValue, 'tttttnewValue', oldValue, 'tttttoldValue')
}
)
// 这种写法属于不会有响应的情况
watch(props.testData, (newValue, oldValue) => {
console.log(newValue, 'tttttnewValue', oldValue, 'tttttoldValue')
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20