angular - 角度路由器:使用数组作为参数
问题描述
我正在尝试将路由与数组参数匹配,例如由以下内容生成的 url:
this.router.navigate(['users', ['a', 'b', 'c']]);
是http://localhost:4200/users;0=a;1=b;2=c
。
我如何匹配这个数组并稍后从 paramMap 中检索它?我试过了
{ path: 'users/:ids', component: UsersComponent },
这对我不起作用。
解决方案
有很多解决方案
我会给你更快的
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);
});
}
我希望这会帮助你
推荐阅读
- java - 在多线程环境中使用 SecurityContext 或 Authentication 实例恢复身份验证
- javascript - 在mongodb的两个集合中保存消息时使用`mongoose transactions`
- flutter - Flutter:BloC 在应用程序测试中注入模拟
- java - Spring Batch 启动失败
- discord - 异步事件结束后如何删除命令的冷却时间?
- excel - 使用 VBA 将 Excel 工作表导出为 PDF
- php - 教义,在 InvalidProxyDirectoryException.php 第 18 行:
- android - Android 本机库链接器在 gradle 更新后停止工作
- html - 汉堡菜单链接无法正常工作
- asp.net - 无法将表“AspNetRoles”用于实体类型“AspNetRoles”,因为它正在用于实体类型“IdentityRole”