![](/img/trans.png)
[英]Unable to access/get value of abstract (base) class properties from derived class - TypeScript
[英]Typescript error when introducing Abstract class or properties?
我有一个定义如下的 DOCUMENTATION_CATALOG:
export const DOCUMENTATION_CATALOG: {[key:string]:TopicCategory[]} = {}
我们可以像这样得到TopicCategory
数组;
const values:TopicCategory[] =
Object.keys(DOCUMENTATION_CATALOG).map(
key => DOCUMENTATION_CATALOG[key])
当我使用AbstractTopic
扩展TopicCategory
时, values
变量出现以下错误:
常量值:TopicCategory[] 类型“TopicCategory[][]”不可分配给类型“TopicCategory[]”。 类型“TopicCategory[]”与类型“TopicCategory”没有共同的属性。
我把它隔离得更远一点。 如果TopicCategory
中没有属性,则不会触发错误。
您的DOCUMENTATION_CATALOG
是从string
到TopicCategory[]
的 map 。
您的values
属于TopicCategory[]
类型,但传递给map()
的回调返回DOCUMENTATION_CATALOG
中的值之一,即TopicCategory[]
。 因此, map()
调用的结果是一个TopicCategory[]
数组,即TopicCategory[][]
。
我无法给出任何建议,因为我不确定value
的预期用途是什么,或者DOCUMENTATION_CATALOG
的类型是否错误。
有两种不同的解决方案:
任何一个value
都必须是TopicCategory[][]
类型,
或DOCUMENTATION_CATALOG
需要是{[key:string]:TopicCategory}
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.