如何在angular中使用activated router从url中访问query params?

问题描述 投票:0回答:1

我需要使用activated router来访问当前url的查询参数。

 constructor(private router: Router,
              private route: ActivatedRoute) {
  }

 ngOnInit() {
    this.router.events.pipe(
          filter((event: RouterEvent) => event instanceof NavigationEnd && event.url.startsWith('/resources'))
        ).subscribe(() => {
          console.log(this.route.snapshot.params)
        })

}

当我访问我的url时。http://localhost:4200/web/#/resources/sharepoint;siteId=docs;displayName=test;resourceId=4

this.route.snapshot.params

打印一个空数组。如何访问查询参数 "resourceId"?

我已经尝试过 this.route.snapshot.queryParams 但还是打印出一个空数组,我需要使用activated router来访问当前的url和查询参数。

angular angular-ui-router angular-activatedroute
1个回答
1
投票

读取 this.router.url 然后分割

constructor(private router: Router) {
   var url=this.router.url;
    var params=url.split(";");
    var resourceId=params[params.length-1].split("=")[1];
}
© www.soinside.com 2019 - 2024. All rights reserved.