[英]Typescript interfaces
我试图为角度2中的以下对象创建接口:
// set the render state object
this.aRenderState = {
model: "",
colour: false,
showWireframe: false,
showGrid: true,
clipping: {
enabled: false,
visible: false,
planes: [
{
name: 'X',
plane: new THREE.Plane(new THREE.Vector3(1, 0, 0), 0),
object: null,
enabled: true,
flip: false,
size: [this.aDomain.getSize().z, this.aDomain.getSize().y],
},
{
name: 'Y',
plane: new THREE.Plane(new THREE.Vector3(0, 1, 0), 0),
object: null,
enabled: false,
flip: false,
size: [this.aDomain.getSize().x, this.aDomain.getSize().z]
},
{
name: 'Z',
plane: new THREE.Plane(new THREE.Vector3(0, 0, -1), 0),
object: null,
enabled: false,
flip: false,
size: [this.aDomain.getSize().x, this.aDomain.getSize().y]
},
]
}
}
以下是我的尝试:
export interface IPlane {
name: string;
plane: THREE.Plane;
object: {};
enabled: boolean;
flip: boolean;
size: number[];
}
export interface IClipping {
enabled: boolean;
visible: boolean;
planes: IPlane[];
}
export interface IRenderState {
model: string;
colour: boolean;
showWireframe: boolean;
showGrid: boolean;
clipping: IClipping;
}
当我运行项目时,出现以下错误消息:
类型'{model:string; 颜色:假; showWireframe:假; showGrid:true; 裁剪:{启用:否; ...”不能分配给类型“ IRenderState”。 属性“剪切”的类型不兼容。 输入'{enabled:false; 可见:错误; 飞机:[{名称:字符串; 飞机 对象:null; 启用:t ...”不能分配给类型“ {启用:布尔值; 可见:布尔值; 平面:[IPlane,IPlane,IPlane]; }”。 属性“平面”的类型不兼容。 输入'[{name:string; 飞机 对象:null; 已启用:true; 翻转:错误; 大小:[数字,数字]; ...”不能分配给类型[[IPlane,IPlane,IPlane]”。 输入'{name:string; 飞机 对象:null; 已启用:true; 翻转:错误; 大小:[数字,数字]; }”不可分配给“ IPlane”类型。 属性“大小”的类型不兼容。 类型“ [数字,数字]”不能分配给类型“ [0,0]”。 类型“数字”不能分配给类型“ 0”。)
我不明白我在做什么错。
打字稿2.2具有“对象”类型(全部较低)。 建议从现在开始使用此版本。
interface IPlane {
object: object;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.