Angular 2向应用程序根组件发出事件

时间:2018-03-06 10:16:50

标签: angular angular2-routing eventemitter

我想向作为我的应用程序的引导程序的组件发出一个事件。 这个组件是websocket连接的处理程序,我需要发送一条消息,这就是我必须发出这个事件的原因。

在bootstrap组件中,我只有yourList.Where(x => x.Status_ID == 6).ToList(); 所以我无法知道如何接收事件。

示例

App.component.html

<router-outlet></router-outlet>

App.component.ts

<router-outlet></router-outlet>

App.module.ts

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.scss']
})

export class AppComponent {
}

应用-routing.module.ts

...
@NgModule({
  ...
  bootstrap: [AppComponent]
})

地图-display.components.ts

...
const routes: Routes = [
  { path: 'display', component: MapDisplayComponent }
];

所以问题是地图显示组件必须将事件发送给他的父母

2 个答案:

答案 0 :(得分:2)

使用服务。

  1. 将服务注入组件和主要组件。
  2. 向服务添加发射器或Observable。
  3. 在服务中添加一个函数,以便在使用发射器时更改Observable的值/发出新值。
  4. 使用组件中的功能。
  5. 订阅主要组件中的发射器或Observable。
  6. 希望这有帮助。

答案 1 :(得分:1)

您可以使用服务来管理组件之间的通信
看看this问题和答案。
不要忘记将服务注入组件和主要组件