Webpack 除了使用事件总线,还有什么';在祖辈组件中捕获孙辈组件发出的事件的好方法是什么?

Webpack 除了使用事件总线,还有什么';在祖辈组件中捕获孙辈组件发出的事件的好方法是什么?,webpack,vue.js,babeljs,vuejs2,Webpack,Vue.js,Babeljs,Vuejs2,假设我在父子关系中有3个组件 Component1是Component2的父级,Component2是Component3的父级 组件3发出事件1。通常,event1在Component2中处理,但在我的特殊情况下,我希望在Component1中处理它 背景故事 我之所以以这种方式设置组件,是因为Component2是一个通用组件,其内容是Component3。明天,我可以创建另一个组件4,并将其作为道具传递给组件2。从Component4或Component3发出的任何事件都需要从Compon

假设我在父子关系中有3个组件

Component1
Component2
的父级,
Component2
Component3
的父级

组件3
发出
事件1
。通常,
event1
Component2
中处理,但在我的特殊情况下,我希望在
Component1
中处理它

背景故事

我之所以以这种方式设置组件,是因为
Component2
是一个通用组件,其内容是
Component3
。明天,我可以创建另一个
组件4
,并将其作为道具传递给
组件2
。从
Component4
Component3
发出的任何事件都需要从
Component1
的模板中的事件处理程序进行访问

<template>
<component2 @event1="doSomething"></component2>
</template>


如果您有一个通用组件将被许多组件使用,请参见mixin:Yes,但是,这些示例是常规的JS格式,而我的是在<代码>中。VUE 可以考虑将组件传递到而不是作为一个道具。您可以尝试集中状态管理,如果有一个将被许多组件使用的通用组件,请参阅MIXIN:是的,但是,这些示例是常规的JS格式,而我的是在<代码>中。VUE 可以考虑将组件传递到而不是作为一个道具。