【问题标题】:How to get the route parameter in Angular 2? (RC - stable - router)如何在 Angular 2 中获取路由参数? (RC - 稳定 - 路由器)
【发布时间】:2016-06-09 14:47:53
【问题描述】:

我正在使用新的稳定 Angular 2 RC 版本。新路由器组件的文档尚未编写。我正在努力从导航到页面中简单地获取参数。

我的路线:

@Routes([
  {path: '/results', component: ResultListComponent},
  {path: '/result-detail/:id', component: ResultDetailComponent}
]) 

我正在使用以下方法导航到我的详细信息组件:

this.router.navigate(['/result-detail', result.primary_id]);

最后我不知道如何使用'RouteSegment'在结果详细信息组件中获取primary_id?

【问题讨论】:

  • 对不起,我应该提一下,这相当于弃用路由器中的 RouteParams。编辑:我可能错了,可能根本没有 RouteParams。请参阅下面的 cmets。
  • 当前路由器AFAIK中没有RouteParams
  • 我认为他们已经在最新的一个中删除了它,但从这个链接我认为它以前就在那里:angular.io/docs/js/latest/api/router/RouteParams-class.html
  • 好的,太棒了,谢谢你清理它。我也刚刚阅读了您的第一条评论。在新路由器发货之前,我将使用已弃用的路由器。谢谢君特!

标签: angular


【解决方案1】:

在Angular RC1路由器中,你需要让你的组件实现OnActivate接口来获取路由参数:

import { Router, OnActivate, RouteSegment, RouteTree } from '@angular/router';


Component({
...
})
export class ResultDetailComponent implements OnActivate {
    constructor() { }

    routerOnActivate(curr: RouteSegment, prev?: RouteSegment, currTree?: RouteTree,
                     prevTree?: RouteTree) {
        this.id = curr.getParam('id'),
}

【讨论】:

    猜你喜欢
    • 2016-11-25
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    相关资源
    最近更新 更多