首页 > 解决方案 > 角度路由器:使用数组作为参数

问题描述

我正在尝试将路由与数组参数匹配,例如由以下内容生成的 url:

this.router.navigate(['users', ['a', 'b', 'c']]);

http://localhost:4200/users;0=a;1=b;2=c

我如何匹配这个数组并稍后从 paramMap 中检索它?我试过了

{ path: 'users/:ids', component: UsersComponent },

这对我不起作用。

标签: angularangular-router

解决方案


有很多解决方案

我会给你更快的

1 * 加入你的身份证

let ids = ['a', 'b', 'c'].join(","); 

2 * 你在 queryParams 中发送它

this.router.navigate(['users'], { queryParams: { ids: ids } });

你会看到这样的网址

http://localhost:4200/users?ids=a,b,c

3 * 在你做这个的用户组件中

constructor(private route: ActivatedRoute
    ) {

   this.route
   .queryParams
   .subscribe(params => {
     let ids = params['ids'];
     console.log(ids.split(","));
   }, error => {
     console.log(error);
     
   });

    }

我希望这会帮助你


推荐阅读