问题描述
我在我的角度项目中使用了NGRX数据。在EntityCollectionService中,我使用的是getWithQuery方法,该方法定义为
getWithQuery(queryParams: string | QueryParams,options?: EntityActionoptions): Observable<T[]>
我的意思是说getWithQuery方法接受一个变量“ queryParams”,该变量可以具有字符串或QueryParams的类型,并且试图传递QueryParams对象。它还接受了一个不使用的可选options参数。
官方文档将QueryParams定义为
interface QueryParams {
__index(name: string): string | string[]
}
我不知道它的__index部分是什么意思。
在节点包代码本身中,其定义为
export interface QueryParams {
[name: string]: string | string[];
}
我的意思是说QueryParams是一个对象,它将具有一个带有键“名称”的属性,该属性的名称为string类型,并且值的类型为string或string [],但是我不明白方括号放在“名称:字符串”周围。
我还是尝试实现它,并且在我的组件代码中
this._service.getWithQuery({"caseId":"7"})
getWithQuery(params: QueryParams | string): Observable<Case[]> {
return from(this._cases).pipe(
toArray(),map(cases => cases
.filter(c => c.id == params["caseId"])
),);
}
这一切似乎都奏效,但是我不确定我做的是hack还是最佳实践。 (this._cases仅返回一些硬编码数据)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)