首页 > 解决方案 > 让子组件上的按钮在父组件上运行功能

问题描述

我目前遇到了一个看起来很简单的问题,但找不到解决它背后的 wording.technical。

本质上,我有一个子组件“项目卡”,这张卡在我的主页上使用

<div v-for="(project, index) in projects" :key="index">

(从包含对象的名为“projects”的数组中提取)。

无论如何,我的问题是,我在“项目卡”组件上有一个按钮,点击它我想在“主页”页面上运行一个功能。(因为从那里控制阵列似乎很有意义)。

但是,我该怎么做呢?如何使子组件上按下的按钮触发父组件上的功能?

标签: vue.jsvuejs2vue-component

解决方案


您需要在子组件中使用它:

this.$emit('myEvent')

然后你可以在你的父组件上做:

<my-parent-component v-on:myEvent="doSomething"></my-parent-component>

您可以在https://vuejs.org/v2/guide/components-custom-events.html阅读有关触发事件的信息。如果这是简单的情况,那么使用事件发射就可以了。但在另一种情况下,更好的决定是使用 vuex。


推荐阅读