要将更新的数据传递到已呈现的子Vue组件,可以使用props、事件总线或Vuex等方法。
示例代码:
父组件:
<template>
<div>
<child-component :data="updatedData"></child-component>
</div>
</template>
<script>
import ChildComponent from '@/components/ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
updatedData: '更新的数据'
};
}
};
</script>
子组件:
<template>
<div>
<p>{{ data }}</p>
</div>
</template>
<script>
export default {
props: ['data']
};
</script>
示例代码:
事件总线:
import Vue from 'vue';
const EventBus = new Vue();
export default EventBus;
父组件:
<template>
<div>
<button @click="updateData">更新数据</button>
</div>
</template>
<script>
import EventBus from '@/event-bus';
export default {
methods: {
updateData() {
const updatedData = '更新的数据';
EventBus.$emit('data-updated', updatedData);
}
}
};
</script>
子组件:
<template>
<div>
<p>{{ data }}</p>
</div>
</template>
<script>
import EventBus from '@/event-bus';
export default {
data() {
return {
data: ''
};
},
created() {
EventBus.$on('data-updated', (updatedData) => {
this.data = updatedData;
});
}
};
</script>
示例代码:
父组件:
<template>
<div>
<button @click="updateData">更新数据</button>
</div>
</template>
<script>
import { mapMutations } from 'vuex';
export default {
methods: {
...mapMutations(['updateData']),
updateData() {
const updatedData = '更新的数据';
this.updateData(updatedData);
}
}
};
</script>
子组件:
<template>
<div>
<p>{{ data }}</p>
</div>
</template>
<script>
import { mapState } from 'vuex';
export default {
computed: {
...mapState(['data'])
}
};
</script>
以上是三种常用的方法,根据实际情况选择合适的方式来将更新的数据传递到已呈现的子Vue组件。这些方法均适用于Vue框架,可根据具体需求和项目情况灵活运用。
领取专属 10元无门槛券
手把手带您无忧上云