Sho*_*ota 21 typescript angular
我想在我的Angular 5应用程序中获取URL参数,我发现了两种方法:
1)使用 paramMap
ngOnInit() {
this.hero$ = this.route.paramMap
.switchMap((params: ParamMap) =>
this.service.getHero(params.get('id')));
}
Run Code Online (Sandbox Code Playgroud)
2)使用params:
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
this.id = +params['id'];
});
}
Run Code Online (Sandbox Code Playgroud)
有什么区别吗?哪一个是最好的做法?
小智 25
根据文件:
还有两个较旧的房产.他们的能力低于他们的替代者,气馁,并且可能在未来的Angular版本中被弃用.
params - 一个Observable,包含特定于路由的必需参数和可选参数.请改用paramMap.
简单高效!
Mab*_*abd 10
注: 该 paramMap提供更多的便利与路线参数玩。有以下三种方法:
已() :
this.router.navigate(['example', id]);
this.activatedRoute.paramMap.subscribe(params => {
console.log(params.has('id')); // true
})
Run Code Online (Sandbox Code Playgroud)
得到() :
this.router.navigate(['example', "id","another ID"]);
this.activatedRoute.paramMap.subscribe(params => {
console.log(params.get('id'));
})
Run Code Online (Sandbox Code Playgroud)
得到所有() :
this.router.navigate(['example', { foo: ['bar', 'baz'] } ]);
this.activatedRoute.paramMap.subscribe(params => {
console.log(params.getAll('foo'));
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15716 次 |
| 最近记录: |