首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在angular路由之间传递一些额外的动态数据?

如何在angular路由之间传递一些额外的动态数据?
EN

Stack Overflow用户
提问于 2020-11-06 12:02:49
回答 1查看 140关注 0票数 0

如何在angular路由之间传递一些额外的数据:

代码语言:javascript
复制
  navigateToItem(item: Item) {
    this.router.navigate(
      ['itemss', item.name],
      { state: { data: { id: item.id } } }
    );
  }

看起来我们可以像上面的方法一样传递Navigation Extras

但是我如何在目标路由中访问它呢?

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

如果传递除paramsqueryparams之外的额外动态数据,请建议您这样做。(因为我不想在url片段中显示额外的参数,如id或任何额外的数据。)

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

EN

回答 1

Stack Overflow用户

发布于 2020-11-06 12:28:54

在路由器中公开的getCurrentNavigation函数就是您要寻找的。确保在您要导航到的组件的构造函数中调用它,否则信息将不会出现在那里。(我认为你仍然可以从历史中访问它)

首选方法是:

代码语言:javascript
复制
constructor(private router: Router) {
    this.itemId= this.router.getCurrentNavigation().extras.state.data.id;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64708691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档