如何将成员实例化为具有空值的类?

Plunkr

我实例化
public members = new MemberClass();
但控制台显示成员:{} 所以我无法设置默认的空值

所以基本上我试图复制一个空结构,如:

this.members = [
    {
      "Name" : "", "Id" : "", "Team" : "",
      "Cases" : {
        "history" : []
      }
    }
];

最佳答案

使用接口(interface) ;) 这是一种您可以创建一个带有 Member 类型的空对象并设置了属性的数组的方法。我不知道用例,至少我没有为空对象/模型数组设置属性,但我们开始了:)

所以首先你的接口(interface)是:

export interface Member {
    Id: string;
    Name: string;
    Cases: Case[];
}
export interface History {
    Id: string;
    CaseNumber: string;
}
export interface Case {
    History: History[];
}

然后创建 3 个函数来设置属性:
export function createMember(Id?:string,Name?:string, Cases?:Case[]): Member {
  return {
    Id,
    Name,
    Cases[createCase()]
  }
}

export function createCase(History?:History[]): Case {
  return {
    History[createHistory()]
  }
}

export function createHistory(Id?: string,CaseNumber?:string): History {
  return {
    Id,
    CaseNumber
  }
}

现在在您的组件中,您可以调用函数 createMember ,然后调用另外两个函数:
members = [createMember()];

PS,根据您的模型,以下不是Member -array 的模型,它们的名称和构建不匹配,但是我根据您提供的模型创建了上述模型。

关于Angular 2 用空值实例化类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43783031/

10-11 22:15
查看更多