无法在TypeScript中设置未定义的属性XXX

时间:2017-06-19 13:35:11

标签: javascript typescript undefined

我想在TypeScript中初始化一个接口。

export interface TestGroup {
  "id": number;
  "type": TestType;
  "interval"?: number;
}


import {TestGroup} from "../../gen/api";
public functionConfig: TestGroup;
.
.
.
this.functionConfig.id = testGroup.functionTestConfig;

我收到此错误:

  

TypeError:无法设置属性' id'未定义的

你能帮我吗?

2 个答案:

答案 0 :(得分:2)

您的functionConfig有类型但实际上是undefined。所以你需要初始化它:

public functionConfig: TestGroup = {id: 0, type: 'YourTestTypeHere'};

或您的默认值

注释

var activateOnWeekDay: Array<boolean> = [];

答案 1 :(得分:0)

您可以通过初始化一个空的object {}来解决它。

export interface TestGroup {
  id: number;
  type: TestType;
  interval?: number;
}


import {TestGroup} from "../../gen/api";
public functionConfig: TestGroup = {};        <=====Assign empty object
.
.
.
this.functionConfig.id = testGroup.functionTestConfig;