vue.js - 让子组件上的按钮在父组件上运行功能
问题描述
我目前遇到了一个看起来很简单的问题,但找不到解决它背后的 wording.technical。
本质上,我有一个子组件“项目卡”,这张卡在我的主页上使用
<div v-for="(project, index) in projects" :key="index">
(从包含对象的名为“projects”的数组中提取)。
无论如何,我的问题是,我在“项目卡”组件上有一个按钮,点击它我想在“主页”页面上运行一个功能。(因为从那里控制阵列似乎很有意义)。
但是,我该怎么做呢?如何使子组件上按下的按钮触发父组件上的功能?
解决方案
您需要在子组件中使用它:
this.$emit('myEvent')
然后你可以在你的父组件上做:
<my-parent-component v-on:myEvent="doSomething"></my-parent-component>
您可以在https://vuejs.org/v2/guide/components-custom-events.html阅读有关触发事件的信息。如果这是简单的情况,那么使用事件发射就可以了。但在另一种情况下,更好的决定是使用 vuex。