如果URL如下所示,我可以获取查询参数:
http://localhost:4200/member/0?members=1&facility=1&field=name&criteria=contains&string=black
当浏览器对上述网址中的$
,=
和?
进行编码时,我无法检索查询参数,
编码后的网址如下所示:
以下是我试图检索查询参数的代码段(当URL未编码时工作正常,但在浏览器对URL进行编码时失败)。
this._activatedRoute.snapshot.queryParams;
this._activatedRoute.queryParams.subscribe(value=> {
console.log('here');
console.log(value);
});
我使用的是Angular版本2.3.1
,路由器版本是3.3.1
答案 0 :(得分:1)
这是如何从URL获取参数的示例。
url是这样的:
http://localhost:4200/products?order=popular
然后代码就像这样:
import { ActivatedRoute } from '@angular/router';
import 'rxjs/add/operator/filter';
@Component({ ... })
export class ProductComponent implements OnInit {
order: string;
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.queryParams
.filter(params => params.order)
.subscribe(params => {
console.log(params); // {order: "popular"}
this.order = params.order;
console.log(this.order); // popular
});
}
}