Angular 2:在兄弟组件之间发射的事件
问题描述:
在我的Angular 2项目中,我希望兄弟组件之间的事件通信,我已阅读了一些文章,并在此主题上关注了一些关于此问题的stackoverflow上的问题,现在终于使用了服务使用RXJS如answer中提到的,这是很好的解决方案。Angular 2:在兄弟组件之间发射的事件
但我有以下情况。 这是我的AppComponent html。
<section class="app content-area">
<fds-header></fds-header>
<router-outlet></router-outlet>
</section>
我有三个组成部分AuthComponent,HomeComponent和HeaderComponent。前两个组件在插座中渲染,最后一个组件具有自己的元素/选择器fds-header。因此,无论组件在插座中呈现的都是HeaderComponent的兄弟。在HeaderComponent有一个注销按钮,注销功能在AuthComponent。我从HeaderComponent发出事件,并在AuthComponent中接收。问题是,当用户成功登录然后当我刷新页面应用程序被重新初始化,他将被重定向到HomeComponent和HomeComponent这个时候AuthComponent没有建立这样的注销不起作用,因为只有一个用户在AuthComponent不可用。所以我的问题是我如何处理这种情况?
答
登录需要组件时,您可以使用服务调用来实现注销,而无需组件。
在这种情况下,订户不会是AuthComponent
,而是AuthService
,它在注销结束时会再次导航到登录页面。