首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Angular 2更改路由(URL)并从DB加载数据

Angular 2更改路由(URL)并从DB加载数据
EN

Stack Overflow用户
提问于 2018-06-05 03:16:58
回答 1查看 273关注 0票数 0

在我的项目中,我有一个菜单,它在*ngFor循环中,我将menu.Id作为参数从数据库中加载数据

代码语言:javascript
复制
<li *ngFor="let item of menu">
  <a [routerLink]="['/products', item .Id]">{{item .Name}}</a>
</li>

当我第一次点击这个菜单项时(不管是哪一个),它工作得很好,但之后再点击另一个菜单项,它就不能工作了,因为ProductsComponent已经加载了,不能再接受Id (路由没有改变,'/products/: Id‘Id不同,但构造函数已经加载,组件已经初始化)。

ProductsComponent的构造函数中,像这样获取数据

代码语言:javascript
复制
 this.route.params.subscribe(params => {
      this.menuId = params.menuId;
 });

  • 如何根据路由动态加载数据?
  • 是否可以在路由中隐藏menu.Id?
EN

回答 1

Stack Overflow用户

发布于 2018-06-05 13:22:35

您只需在加载时从路径获取所需的信息

例如,在ngOnInit中,可以使用以下函数调用getMenuId():

代码语言:javascript
复制
getMenuId() {
    const id = +this.route.snapshot.paramMap.get('menuId');
    //do something with menuId, like call another function to load your data with the id
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50687374

复制
相关文章

相似问题

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