Angular 2 class instance with empty values

How do you instantiate a class as a class with empty values?

Plunkr

I create an instance

public members = new MemberClass();

but the console shows the participants: {}, so I can’t set empty defaults

so basically I'm trying to replicate an empty structure like this:

this.members = [ 
    { 
      "Name" : "", "Id" : "", "Team" : "",
      "Cases" : {
        "history" : []
      }
    }
];
+4
source share
2 answers

Use interfaces;) And this is a way to create an array with an empty type object Memberwith a set of properties. I don't know a precedent, at least I don't set 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
  }
}

createMember, :

members = [createMember()];

PS, , Member -array, , , .

+4

, , . Typescript, Javascript, - {}

, , , : let history: History = { Id:"", CaseNumber:""};

- , , . , , : CaseNumber?: string;

.

: , , . , export class MyType {}.

, , Typescript , . , dev-time, (N.B., ).

+3

Source: https://habr.com/ru/post/1676361/


All Articles