如何发出路由器事件

时间:2018-07-06 13:14:58

标签: javascript angular router eventemitter router-outlet

我有2个模块,其中一个是sidenav,我可以在其中选择菜单,并想在content module中显示具有router-outlet的组件。我想知道最好的方法是什么?在内容模块中有router event个可以subscribe的地方吗?因为我将使用serviceemit组件和subscribe event in router-outlet组件,但是我认为这不是最佳实践。像这样:

Service:
private emit = EventEmitter<string>
emit(component: string): void {
 this.emit.emit(component)
}

,在组件中,我只订阅service emit并使用router.navigaterouter-outlet中显示组件。希望有人可以帮助我=)。谢谢

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您:

Sidenav

EntityManager.find()

sidenav的父母

Query.setLockMode()

记住要在父组件中公开路由器:

@Output() navigate: EventEmitter<string[]> = new EventEmitter();

emit (route: string[]) {
  this.navigate.emit(route);
}
相关问题