export const getSearchResults = function (state$: Observable<State>) {
return combineLatest<{ [id: string]: Book }, string[]>(
state$.let(getBookEntities),
state$.let(getSearchBookIds)
)
.map(([ entities, ids ]) => ids.map(id => entities[id]));
};
什么,我需要解释的是这一行:combineLatest <{[id:string]:Book},string []>这是什么?
<{ [id: string]: Book }, string[]>
在世界上那是什么?我从来没有在任何地方看过它。更糟的是某种数组被用作我猜想的属性名称。另外,万一你在我的头上说话是否有这个名称,所以我可以谷歌进行进一步的研究?它来自this ngrx示例。谢谢!
这是一个打字稿指数的签名。在文档中进行搜索:https://www.typescriptlang.org/docs/handbook/interfaces.html – cartant
有参与给你什么是在一个单一的答案正在进行的全面解释太多的概念。根据您对静态类型的熟悉程度,您需要阅读TypeScript中的参数化(又名通用)类型和结构类型。 –
@cartant这个文档确实帮了我很大的忙,但是这个例子太糟糕了。 '接口字符串数组{ [指数:号码]:字符串; “它很糟糕,因为它并没有真正显示特殊的用例场景。 – Helzgate