Angular,访问服务中的路由器参数

时间:2017-10-31 08:04:01

标签: angular observable store ngrx behaviorsubject

我们有一个菜单对象(菜单存储),几个组件将用它来填充数据。

加载页面时我想从服务器加载菜单并将其作为商店公开

private subject = new BehaviorSubject<Menu>(state);
private menuStore = this.subject.asObservable().filter((m) => m != undefined).distinctUntilChanged();

然后每个组件得到结果

    menu$ = this.menuStore.select<MenuItem>('menu');

所以我的问题是这个......目前我们在“menuService”的构造函数中执行操作。据我所知,这不是真正的最佳实践,因为它不受Angulars控制(?)。

那我们该怎么做呢?我们应该在menu.store.ts中使用“implements OnInit”吗?或者它是否有效并且可以在构造函数中执行此操作,这可能会给我们带来问题吗?

1 个答案:

答案 0 :(得分:0)

我最终创建了&#34; PageComponents&#34;以及订阅的那些组件

this.route.params.subscribe((params: Params) => {
  this.menuService.setActiveItem(params.id)
})