我已经在官方网页上尝试了这个示例,但它既不起作用,也不影响其他页面上的其他示例。路由器和路由导出都没有参数。如何订阅并获取参数更改? 我也不能使用RouteParams,我得到一个例外,没有提供者。 谢谢!
我如何使用当前版本的角度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
不存在:(我应该使用什么?
答案 0 :(得分:0)
尝试以下一项:
@RouteConfig([
{
path: '/:id', name: 'Fruits', component: FruitsComponent
}
])
ngOnInit() {
this.sub = this.route.snapshot.params['id'];
if(this.sub == 'appleId/:bananaId/fruits'){
// your code
}
}
答案 1 :(得分:0)
这是最适合从url获取参数的
import {ActivatedRoute} from '@angular/router';
constructor(private activatedRoute: ActivatedRoute) {}
this.activatedRoute.queryParams.subscribe(params => {
let id = = params['id'];
});