angular - 如何在 Angular 的路由中使用数组?

标签 angular

我认为使用 getAllparamMap 可以帮助从 URL 获取数组,但显然不是。

我是不是用错了?

这是一个例子:https://stackblitz.com/edit/angular-bjrjz9

我用这个导航

this.router.navigate(['two', {
  id: [1, 2, 3, 4, 5]
}]);

然后我得到值

this.route.paramMap.subscribe(params => {
  const ids = params.getAll('id');
  console.log('ids', ids);
});

console.log 显示 ['1,2,3,4,5'] 但我希望它是 [1,2,3,4,5] 甚至 ['1', '2', '3', '4', '5']

我只是想将数组传递给路由,然后将数组返回到目的地。
当然,我可以只拆分字符串,但在那种情况下使用 getAll 有什么意义呢? :)

最佳答案

getAll() 方法以数组形式返回重复的参数。

示例:

http://www.example.com/?query=a&query=b&query=c

值为:

console.log(params.getAll('query')); // prints ["a","b","c"]

HTTP 规范中的所有查询参数都是字符串。

关于angular - 如何在 Angular 的路由中使用数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54309291/

相关文章:

angular - 使用YouTube API和Angle搜索电影预告片

javascript - 尝试读取 Excel 文件时 XMLHTTPRequest.response 为 null

javascript - Angular 继承注入(inject)不同的实例

angular - 如何使我的 Angular 应用程序轻量级

javascript - 如何使用 Angular Http 拦截器和 RxJS 刷新 JWT token ?

Angular - 禁用输入的 Karma 测试无法正常工作

angular - ng 服务无法编译

javascript - 读取 Angular Reactive Form 中的复选框 FormControl 值

angular - 如何在Angular 6中选择段落?

html - 调整窗口大小时,Bootstrap 表单控制对齐方式