[英]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.