我正在使用angular 5.0.3,我想用一堆查询参数启动我的应用程序。比如“/ app?param1 = hallo& param2 = 123”。
How get query params from url in angular2?中给出的每个提示对我都不起作用。
private getQueryParameter(key: string): string { const parameters = new URLSearchParams(window.location.search); return parameters.get(key); }
这个私有函数可以帮助我获取参数,但我不认为它是新Angular环境中的正确方法。
[更新:]
我的主应用程序看起来像
@零件({…})
export class AppComponent实现OnInit {
constructor(private route: ActivatedRoute) {} ngOnInit(): void { // would like to get query parameters here... // this.route... } }
在Angular 5中,通过订阅this.route.queryParams来访问查询参数。
示例:“/ app?param1 = hallo& param2 = 123”
param1: string; param2: string; constructor(private route: ActivatedRoute) { console.log('Called Constructor'); this.route.queryParams.subscribe(params => { this.param1 = params['param1']; this.param2 = params['param2']; }); }
而,路径变量由“this.route.snapshot.params”访问
示例:“/ param1 /:param1 / param2 /:param2”
param1: string; param2: string; constructor(private route: ActivatedRoute) { this.param1 = this.route.snapshot.params.param1; this.param2 = this.route.snapshot.params.param2; }