代码之家  ›  专栏  ›  技术社区  ›  Mackelito

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

  •  0
  • Mackelito  · 技术社区  · 7 年前

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

    加载页面时,我希望从服务器加载菜单,并将其作为存储区公开

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

    然后每个组件都得到结果

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

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

    那么我们应该怎么做呢?我们应该在菜单中使用“implements OnInit”吗。百货商店ts?或者,在构造函数中这样做有效吗?这会给我们带来问题吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Mackelito    7 年前

    我最终创建了“PageComponents”,并在这些组件中订阅

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