【发布时间】:2018-02-22 18:35:45
【问题描述】:
我想定义一个包含对象和不同类型的接口 比如
export interface example {
code: string;
category : {
name : string,
reference: string,
sequence : number
};
}
定义上没有问题,但是调用like后没有问题
ex = {} as example;
ex.category.name ='electric;
这不起作用并出现以下错误
错误错误:未捕获(承诺中):TypeError:无法设置未定义的属性“名称” TypeError:无法设置未定义的属性“名称”
有一些相似的主题,但它们并不完全相关。 (How to define object in type script interface 或How can I define the types of an object variable in Typescript?)
感谢您协助寻找解决方案。
【问题讨论】:
-
你还是要创建第一级对象:
ex.category = {};,或者直接去let ex = { category: { name: 'electric' } };。接口只是描述了shape,你还是要构建正确的对象(或者写一个带有构造函数的类,或者提供默认值)。 -
题主有问题吗?
标签: typescript interface