angular - Typescript interfaces -


i trying create interface following object in angular 2:

// set 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]               },           ]       }     } 

the following attempt:

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; } 

when run project following error message:

type '{ model: string; colour: false; showwireframe: false; showgrid: true; clipping: { enabled: false;...' not assignable type 'irenderstate'. types of property 'clipping' incompatible. type '{ enabled: false; visible: false; planes: [{ name: string; plane: plane; object: null; enabled: t...' not assignable type '{ enabled: boolean; visible: boolean; planes: [iplane, iplane, iplane]; }'. types of property 'planes' incompatible. type '[{ name: string; plane: plane; object: null; enabled: true; flip: false; size: [number, number]; ...' not assignable type '[iplane, iplane, iplane]'. type '{ name: string; plane: plane; object: null; enabled: true; flip: false; size: [number, number]; }' not assignable type 'iplane'. types of property 'size' incompatible. type '[number, number]' not assignable type '[0, 0]'. type 'number' not assignable type '0'.)

i cannot understand doing wrong.

typescript 2.2 has "object" type (all lower). recommended use 1 now.

interface iplane {     object: object; } 

Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -