Angular 2 instantiate class with empty values

前端 未结 2 1934
执笔经年
执笔经年 2021-01-19 08:17

How do you instantiate the members as class with empty values?

Plunkr

I instantiate with

public members = new MemberClass();

2条回答
  •  执笔经年
    2021-01-19 08:56

    Use interfaces ;) And this is a way you can create an Array with an empty object of type Member with properties set. I don't know the use case, at least I do not set the properties for empty objects/arrays of models, but here we go :)

    So first your interfaces, which are:

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

    Then you create 3 functions to set the properties:

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

    And now in your component you can call the function createMember, that then calls the two other functions:

    members = [createMember()];
    

    PS, according to your models, the following is not the model of Member-array, they name and build doesn't match, but I have created the above, based on the models you have provided.

提交回复
热议问题