作者:qwj6069649 | 来源:互联网 | 2024-12-26 19:05
在 Vue.js 中,父组件可以通过 props 向子组件传递数据。当这些数据发生变化时,我们可能需要在子组件中做出响应。例如,父组件传递一个对象:
子组件接收这个对象作为 prop:
1 2 3 4 5 | props: { test: { type: Object } } |
接下来,在子组件中,我们可以使用 watch
选项来监听 test
对象中的某个属性(如 a
)是否发生变化。为了确保能够正确监听到深层次的变化,可以使用 immediate: true
和 deep: true
选项:
1 2 3 4 5 6 7 8 9 | watch: { 'test.a': { handler(newValue, oldValue) { console.log('test.a changed from', oldValue, 'to', newValue); }, immediate: true, deep: true } } |
这样,当父组件更新 test.a
的值时,子组件中的 watch
将会触发并执行相应的处理逻辑。