Angular 角度:路由器因查询参数而重新加载

Angular 角度:路由器因查询参数而重新加载,angular,Angular,我有指向相同组件但参数不同的路由器链接 <a [routerLink]="['/goto']" [queryParams]="{mode: '1'}">Goto1</a> <a [routerLink]="['/goto']" [queryParams]="{mode: '2'}">Goto2</a> 但由于路由器仅在URL更改时才执行操作,因此组件不会重新加载 仅使用一个带参数的组件时,如何以最佳方式处理此问题 谢谢 尝试订阅queryPara

我有指向相同组件但参数不同的路由器链接

<a [routerLink]="['/goto']" [queryParams]="{mode: '1'}">Goto1</a>
<a [routerLink]="['/goto']" [queryParams]="{mode: '2'}">Goto2</a>
但由于路由器仅在URL更改时才执行操作,因此组件不会重新加载

仅使用一个带参数的组件时,如何以最佳方式处理此问题


谢谢

尝试订阅queryParams

this.rt.queryParams.subscribe((queryparams) => {
        this.mode= queryparam['mode'];
});

尝试订阅queryParams

this.rt.queryParams.subscribe((queryparams) => {
        this.mode= queryparam['mode'];
});

Angular router确实会重用您的组件,因为url(RouterConfig)是相同的(您可以通过订阅activatedRoute.queryParams来更改行为),以获取参数

constructor(private activatedRoute: ActivatedRoute) {}

  ngOnInit() {
    // subscribe to router event
    this.subscription = this.activatedRoute.queryParams.subscribe((params: Params) => {
        let userId = params['mode'];
        console.log(mode);
      });
  }

Angular router确实会重用您的组件,因为url(RouterConfig)是相同的(您可以通过订阅activatedRoute.queryParams来更改行为),以获取参数

constructor(private activatedRoute: ActivatedRoute) {}

  ngOnInit() {
    // subscribe to router event
    this.subscription = this.activatedRoute.queryParams.subscribe((params: Params) => {
        let userId = params['mode'];
        console.log(mode);
      });
  }