Angular是否可以检测查询Paramter是否已更改? 我有一个处理2个查询参数的组件,根据你带来的参数,它设置了一些变量true或false。问题是,如果在我的组件上使用queryparameter 1,qp可以在不离开组件的情况下更改为第二个参数,在这种情况下,我需要不同地设置变量。那我怎么检测到呢?这甚至可能吗?
答案 0 :(得分:3)
您可以订阅根组件中的参数
constructor(route:ActivatedRoute) {
route.queryParams.subscribe(p => console.log(p.myQueryParam)); // you can also do this in ngOnInit
}
另见https://angular.io/api/router/ActivatedRoute
您也可以在其他路线级别上使用查询参数,但它们也称为矩阵参数。
另见本节末尾https://angular.io/guide/router#route-parameters-required-or-optional
答案 1 :(得分:0)
您可以订阅ActivatedRoute模块提供的 params observable,以观察查询参数的变化。
constructor(private route:ActivatedRoute) {
this.route.params.subscribe(
(params:Params)=>{
console.log(params['yourId']);
}
)}