Angular和Typescript:实例化复杂对象

时间:2017-08-09 14:37:19

标签: javascript json angular typescript

我正在使用Angular,我遇到了使用TypeScript语言的困难。我不确定TypeScript语法。

我不明白为什么要创建这样的对象:

export class MyClass {

  isTrue: boolean;

  complexObject: {
    minValue: number;
    stringValue: string;
  };

  MyClassString: string;
  MyClassString2: string;
  MyClassString3: string;

}

我创建了一个像这样的MyClass数组:

export const MYCLASS: MyClass[] = [
{ 
  isTrue: false,
  complexObject: {
    minValue: 7,
    stringValue: "hello"
  },
  MyClassString: "one",
  MyClassString2: "two",
  MyClassString3: "three"
}];

即使此代码中没有语法错误,Angular编译器也会出错。

如果我删除" complexObject"一切正常。 如果我只使用原始类型创建实例,则没有错误。 如何创建复杂对象并将其初始化为数组而不会出现编译错误?

只有具有这种语法的对象才能用这种语法实例化吗?

错误是:对象文字只能指定已知属性,而复杂对象'类型' MyClass'

中不存在

2 个答案:

答案 0 :(得分:0)

我认为如果以这种方式宣布你的课程会更好:

export class ComplexType {
    minValue: number;
    stringValue: string;
}

export class MyClass {

  isTrue: boolean;

  complexObject: ComplexType;

  myClassString: string;
  myClassString2: string;
  myClassString3: string;

}

答案 1 :(得分:-1)

你可以像下面那样定义const

export const MYCLASS:Array<MyClass>=[
  {
  },
  {
  }
]