我试图像这样从Angular中的URL读取查询参数:
export class QueryParameterReader implements OnInit {
constructor(private currentActiveRoute: ActivatedRoute) {}
ngOnInit() {
this.currentActiveRoute.queryParams.subscribe((queryParams: Params) => {
console.log("Recieved query parameters: " + queryParams['userid']);
});
}
}
但是,一旦我尝试通过Promise进行操作,它就会失败(then
处理程序永远不会触发):
export class QueryParameterReader implements OnInit {
constructor(private currentActiveRoute: ActivatedRoute) {}
ngOnInit() {
this.currentActiveRoute.queryParams.toPromise().then((queryParams: Params) => {
console.log("Recieved query parameters: " + queryParams['userid']);
});
}
}
知道为什么会这样吗?在我看来,我应该以第二种方式进行此操作,因为我只想读取一次查询参数。始终保持Observable处于打开状态是没有意义的。