簡體   English   中英

打字稿界面

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM