初始化嵌套接口-Angular 5

时间:2018-08-12 21:05:17

标签: angular

我正在尝试初始化嵌套接口。

这是我的模型文件的样子:

export interface ICar {
    color: string;
    number: string;
    type: array<IType>;
} 

export interface IType{ 
    big: string;
    small: string;
    boat: array<IboatType>;
}

export interface IboatType{
    value: string;
    winter: string;
}

现在在我的组件文件中,我尝试对其进行初始化:

let car: ICar= {
  type: {
    boat: {
        value: "test";
        winter: "yolo";
    }

  }

}

这不起作用,我尝试在线检查,但未找到任何内容。 谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这将不起作用,因为从您提供的界面创建对象需要所有属性。

您有一些语法错误,例如:

  1. 您的数组应为大写A
  2. 您缺少一些数组括号

如果要将某些属性设为可选,则必须在界面文件中将其声明为可选:

打字稿书详细https://www.typescriptlang.org/docs/handbook/interfaces.html

所以你会有类似的东西

export interface ICar {
  color?: string;
  number?: string;
  type?: Array<IType>;
}

export interface IType {
  big?: string;
  small?: string;
  boat?: Array<IboatType>;
}

export interface IboatType {
  value: string;
  winter: string;
}

export const car: ICar = {
  type: [{
    boat: [{
      value: "test";
      winter: "yolo";
    }]
  }]
}