Angular是否可以检测查询Paramter是否已更改?

时间:2017-12-28 07:37:44

标签: angular query-parameters

Angular是否可以检测查询Paramter是否已更改? 我有一个处理2个查询参数的组件,根据你带来的参数,它设置了一些变量true或false。问题是,如果在我的组件上使用queryparameter 1,qp可以在不离开组件的情况下更改为第二个参数,在这种情况下,我需要不同地设置变量。那我怎么检测到呢?这甚至可能吗?

2 个答案:

答案 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']);
  }
)}