vue父组件传参给子组件,子组件如何监听呢
时间: 2024-12-12 11:14:44 浏览: 9
Vue传参一箩筐(页面、组件)
在Vue中,父组件可以通过props将数据传递给子组件。子组件可以通过`props`选项来接收这些数据,并且可以通过`watch`选项来监听props的变化。以下是一个具体的示例:
1. **父组件传递数据给子组件**:
```vue
<!-- ParentComponent.vue -->
<template>
<div>
<ChildComponent :childProp="parentData" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
parentData: '初始数据'
};
}
};
</script>
```
2. **子组件接收并监听数据**:
```vue
<!-- ChildComponent.vue -->
<template>
<div>
<p>{{ childProp }}</p>
</div>
</template>
<script>
export default {
props: {
childProp: {
type: String,
required: true
}
},
watch: {
childProp(newVal, oldVal) {
console.log('childProp 变化了', '新的值:', newVal, '旧的值:', oldVal);
// 在这里可以添加对 childProp 变化的处理逻辑
}
}
};
</script>
```
在这个示例中,父组件`ParentComponent`通过`childProp`将数据`parentData`传递给子组件`ChildComponent`。子组件通过`props`选项接收数据,并通过`watch`选项监听`childProp`的变化。当`parentData`在父组件中发生变化时,子组件的`watch`回调函数会被触发,从而可以执行相应的处理逻辑。
阅读全文