Angular 获取角度2中的ActivatedRoute参数和queryParam
在angular 2中获取整个url内容的最佳方法是什么。基本上我需要params和queryParams。现在我被困在这里:Angular 获取角度2中的ActivatedRoute参数和queryParam,angular,rxjs5,Angular,Rxjs5,在angular 2中获取整个url内容的最佳方法是什么。基本上我需要params和queryParams。现在我被困在这里: ngOnInit() { this.activatedRoute.queryParams.subscribe(queryParam =>{ console.log(queryParam); }); this.activatedRoute.params.subscribe(params =>{ const category = params['cate
ngOnInit() {
this.activatedRoute.queryParams.subscribe(queryParam =>{
console.log(queryParam);
});
this.activatedRoute.params.subscribe(params =>{
const category = params['category'];
this.seoService.setTitle(category);
// This is wrong because i also need queryParams here
this.categoryService.updateCategory(category);
});
}
}
这是我能想到的最好的了。
我的目标是像这样的url/类别名称?page=1&sortBy=something&size=30&sortOrder=ASC&L=UTF-8
我试图从activatedRoute中获取下一个值,并使用所有信息组装一个对象,然后调用后端服务 您可以使用CombineTest获得这两个选项:
Rx.Observable.combineLatest(
this.activatedRoute.queryParams,
this.activatedRoute.params)
.subscribe(([queryParam, params]) => {
...
});
我确实接受了前面的答案,但结果发现它与queryParams有问题。有时查询参数存在,有时不存在,正因为如此,我的值不一致。使用withLatestFrom而不是CombineTest就可以做到这一点
this.activatedRoute.params.withLatestFrom(this.activatedRoute.queryParams)
.subscribe(([params,queryParam ]) =>{
const category = params['category'];
let urlSearchParams : URLSearchParams = this.assembleSearchParams(queryParam);
...
}