如何在角度路线之间传递一些额外的动态数据?

时间:2020-11-06 04:02:49

标签: angular

如何在角度路线之间传递一些额外的数据:

  navigateToItem(item: Item) {
    this.router.navigate(
      ['itemss', item.name],
      { state: { data: { id: item.id } } }
    );
  }

好像我们可以像上述方法一样通过Navigation Extras

但是我该如何在目标路由中访问它。

我也在使用ngrx-router-store。 (如果这也可以通过ngrx路由器存储来完成,请也建议这样做,但不是必须的)

如果除了paramsqueryparams之外传递一些额外的动态数据,请提出建议。 (因为我不想显示id之类的多余参数或url片段中的任何多余数据。)

所以我需要像上面那样传递它们并访问它们

1 个答案:

答案 0 :(得分:0)

您正在寻找Router中公开的getCurrentNavigation函数。确保在要导航到的组件的构造函数中调用此函数,否则信息将不存在。 (我认为您仍然可以从历史记录中访问它)

首选方法是:

constructor(private router: Router) {
    this.itemId= this.router.getCurrentNavigation().extras.state.data.id;
}