我无法解决类型兼容性问题。问题就在那里:
this.options.list.push(...this.cloudData.map((e: Words) => [e.word, e.size] as[string, number]) as[string, number][]);
options: Options = {
list: [] as ListEntry
};
其中 ListEntry
是:
type ListEntry = [string, number];
错误是:
error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '((...items: any[]) => number) | ((...items: [string, number][]) => number)' has no compatible call signatures.
有什么想法吗?
<小时/>编辑
单词
类型:
export class Words {
word: string;
size: number;
}
最佳答案
已在评论中解决,请添加,以便此问题不会得不到答复:
list
的初始化已关闭。您的使用 list
应该是 ListEntry
let options = {
list: [] as ListEntry[]
};
关于javascript - 无法调用类型缺少调用签名的表达式 TypeScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51381076/