- 阐述监听方式:
- 在Vue中,使用
watch
选项来监听对象属性的变化。对于嵌套较深的属性grandchild
,需要使用深度监听。因为默认情况下,Vue的watch
只监听对象的引用变化,不监听对象内部属性的变化。通过设置deep: true
,可以实现对对象内部属性的深度监听。
- 具体代码示例:
<template>
<div>
<!-- 这里可以添加一些与数据交互的UI元素,比如展示grandchild的值 -->
<p>Grandchild value: {{ data.parent.child.grandchild }}</p>
</div>
</template>
<script>
export default {
data() {
return {
data: {
parent: {
child: {
grandchild: 'value'
}
}
}
};
},
watch: {
'data.parent.child.grandchild': {
handler(newValue, oldValue) {
console.log('Grandchild value has changed. New value:', newValue, 'Old value:', oldValue);
},
deep: true
}
}
};
</script>