Javascript Nativescript Vue:在帧中处理发出的事件

Javascript Nativescript Vue:在帧中处理发出的事件,javascript,nativescript,nativescript-vue,Javascript,Nativescript,Nativescript Vue,我有一个小的Nativescript Vue项目,在该项目中,我交换了框架内的组件,如下所示: HTML: 主页组件已成功装入。到现在为止,一直都还不错。但是,当我不再能够访问标记以添加@listener时,如何将另一个事件侦听器动态附加到组件(类似于@login successful事件)。我很确定这应该用代码来完成,类似于 (伪代码) 有人能帮我吗?您是在询问向登录组件添加另一个侦听器吗?你能解释一下事件的目的吗?不,它将向组件添加一个侦听器,以替换登录组件。流程是:Login>Succes

我有一个小的Nativescript Vue项目,在该项目中,我交换了框架内的组件,如下所示:

HTML:

主页组件已成功装入。到现在为止,一直都还不错。但是,当我不再能够访问标记以添加@listener时,如何将另一个事件侦听器动态附加到组件(类似于@login successful事件)。我很确定这应该用代码来完成,类似于

(伪代码)


有人能帮我吗?

您是在询问向登录组件添加另一个侦听器吗?你能解释一下事件的目的吗?不,它将向组件添加一个侦听器,以替换登录组件。流程是:Login>Successful>Emit success event from Login Component>Handle in parent App Controller>dynamic swap out Login Component with User Component我现在想做的是从User Component发出一个事件,它也将由App Controller像Login success那样处理。我意识到我不能用@处理程序来实现这一点,因为我已经动态地改变了DOM,什么是公认的代码实现这一点的方式?为什么不使用事件总线,这样你就可以从任何组件导入它,触发事件或侦听事件。酷,是的,我认为这是一个不错的建议。谢谢
<StackLayout ~mainContent>
   <Frame id="mainframe">
      <Login @login-successful="onLoginSuccess"></Login>
   </Frame>
</StackLayout>
this.$navigateTo(HomePage, {frame: 'mainframe'})
MyComponent.$on('my-event', () => {})