子组件中使用指令监听从父组件拿到的数据
时间: 2024-11-24 10:43:55 浏览: 8
在Vue.js中,如果你想要在子组件中监听来自父组件的数据变化,通常会通过props来进行数据传递。你可以设置一个自定义事件或者指令(v-once或v-bind:key)来监听父组件传过来的prop更新。
例如,假设父组件有一个`parent-data`属性,并将其绑定到子组件的一个`value` prop:
```html
<!-- 父组件 -->
<template>
<div>
<input v-model="parentData" />
<child-component :value="parentData"></child-component>
</div>
</template>
<script>
export default {
data() {
return { parentData: '初始值' };
},
};
</script>
```
然后在子组件里,你可以这样监听父组件的数据变化:
```html
<!-- 子组件 child-component.vue -->
<template>
<div v-on:parent-data-updated="handleParentDataUpdate">
<!-- 子组件内容 -->
</div>
</template>
<script>
export default {
props: ['value'],
methods: {
handleParentDataUpdate(newData) {
this.value = newData; // 如果需要的话,也可以在这里做进一步处理
console.log('父组件数据更新:', newData);
}
}
};
</script>
```
当父组件的`parentData`发生变化时,`handleParentDataUpdate`方法会被调用,你可以在此处获取新传入的数据并执行相应操作。
阅读全文