【发布时间】:2016-07-19 15:26:43
【问题描述】:
我已经尝试过官方页面上的示例,但它既不起作用,其他页面上的其他示例也对我不起作用。路由器和路由出口都没有参数。如何订阅并获取参数更改? 我也不能使用 RouteParams,我遇到了一个异常,没有提供者。 谢谢!
我如何使用当前版本的 angular 2 来做到这一点?
private sub: any;
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
let id = +params['id']; // (+) converts string 'id' to a number
this.service.getHero(id).then(hero => this.hero = hero);
});
}
我的代码:
@RouteConfig([
{ path: '/:appleId/:bananaId/fruits/...', name: 'Fruits', component: FruitsComponent }
])
如何获取 FruitsComponent 中的 appleId 或bananaId 更改?
this.route.params 不存在 :( 我应该改用什么?
【问题讨论】:
-
这仅适用于路由包含参数的组件。例如,如果参数用于子路由,则这只适用于该子路由的组件,但不适用于
AppComponent。另见stackoverflow.com/questions/38460470/… -
请添加路线以及包含您问题代码的组件。
-
所以你使用的是路由器弃用?
ngOnInit()代码类似于新路由器,但@RouteConfig用于已弃用的 beta 路由器。 -
这意味着您使用的是测试版。您没有更新到最新版本 (RC.4) 是否有任何原因?
-
新的 Angular2 在
@angular下而不是angular2
标签: javascript angular