我在将所选项目映射到应该显示详细信息的组件中时遇到问题。我从API调用中得到一个数组,基于从数组中选择了哪个项目,我想在另一个模板上显示其信息。任何帮助将不胜感激。
CodeSet接口:
export interface CodeSet {
codeSetName: string;
comments: string;
description: string;
effectiveDate: Date;
managingEntitySource: string;
systemEffectiveDate: Date;
systemTerminationDate: Date;
terminationDate: Date;
}
这来自CodeSetService:
getCodeSetList返回没有问题的数组。
getCodeSet应该给我一个选择,name参数通过良好,但是尝试显示时却变得不确定。我不确定我的地图设置是否正确。
我已经根据JSON数据及其正确性检查了name参数。
getCodeSetList(): Observable<CodeSet[]> {
return this.http.get<CodeSet[]>(this.environment + this.location + this.service).pipe(
// Line below is for testing JSON data structure returned in api response
tap(data => console.log('All: ' + JSON.stringify(data))),
catchError(this.handleError)
);
}
getCodeSet(name: string): Observable<CodeSet | undefined> {
return this.getCodeSetList().pipe(
map((codeSets: CodeSet[]) => codeSets.find(c => c.codeSetName === name)),
);
}
这是来自component.ts,它需要显示单个codeSet
ngOnInit() {
const param = this.route.snapshot.paramMap.get('name');
if (param) {
const name = param;
this.getCodeSet(name);
console.log(name);
}
}
getCodeSet(name: string) {
this.codeSetService.getCodeSet(name).subscribe(
codeSet => this.codeSet = codeSet,
error => this.errorMessage = error as any);
}