angular - 将数组作为查询参数传递并使用 `getAll()` 函数 (Angular) 获取它
问题描述
有人可以说是否可以直接将数组作为查询参数传递并使用getAll()
函数检索它。
const queryParams = selectedItems.map(item => item.id);
this.router.navigate(['/item'], {
relativeTo: this.route,
queryParams: { item: queryParams }
});
我正在寻找一个例子,但我找不到任何东西。
解决方案
您需要ActivatedRoute
在接收者组件中使用来获取查询参数,通过queryParamMap
该参数返回Observable<ParamMap>
包含getAll()
您所引用的函数的一个。
尝试以下
item.component.ts
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-item',
templateUrl: './item.component.html',
styleUrls: ['./item.component.css'],
})
export class ItemComponent implements OnInit {
constructor(private route: ActivatedRoute) {}
ngOnInit() {
const queryParam = this.route.snapshot.queryParamMap.get('item');
console.log('`item` obtained through `get()`:', queryParam);
const queryParams = this.route.snapshot.queryParamMap.getAll('item');
console.log('`item` obtained through `getAll()`:', queryParams);
}
}
工作示例:Stackblitz
推荐阅读
- filter - Grafana - 如何获取仪表板中使用的指标?
- macos - 在 Jenkins 构建中找不到 pip
- python-3.x - 在python中打印逻辑序列
- apache-nifi - Nifi HandleHttpResponse 八位字节流到 JSON 内容类型
- git - 如何为 Maven 模块创建单独的 Bamboo 计划?
- algorithm - 寻找最佳往返机票组合
- c# - 在 LINQ 中选择不属于某个用户但属于其他用户的所有项目
- react-intl - React-Intl 复数消息获取错误
- javascript - 如何检测页面上任何位置的任何键盘输入
- angular - 带有 api-ai-javascript@2.0.0-beta.21 的 Angular 8 Dialogflow catbot 未在 IE 11 上加载