RRB
RRB

Reputation: 2116

Add 2 models inside of a parent model

I am trying to add 2 models into another parent model however when I console log the parent model I get a blank response. Please have a look at my code below.

Child model 1

export class CompanyMedicalAidProvider {

  corporateId: string;
  active: boolean = true;
  selectedMAP: Array<SelectedMap>;

}

Child model 2

export class CompanyGapCoverProvider {

  gapCoverProviders: Array<GapCoverProviders>;

}

Parent model

export class BenefitProvider {

  CompanyGapCoverProvider: Array<CompanyGapCoverProvider>;
  CompanyMedicalAidProvider: Array<CompanyMedicalAidProvider>;

}

.ts file

companyBenefitProvider: BenefitProvider;

constructor() {
 this.companyBenefitProvider = new BenefitProvider();
}

ngOnInit() {
 console.log(this.companyBenefitProvider);
}

The payload in the console log is blank like this

{}

Any ideas?

Upvotes: 0

Views: 56

Answers (1)

Markus S.
Markus S.

Reputation: 2812

either pass the values for those 2 arrays via the constructor and assign them there:

constructor( companyGapCoverProvider: Array<CompanyGapCoverProvider>,
  companyMedicalAidProvider: Array<CompanyMedicalAidProvider>) {
  this.CompanyGapCoverProvider = companyGapCoverProvider;
  this.CompanyMedicalAidProvider = companyMedicalAidProvider;
}

or just construct an object that looks like the type you defined.

for example

constructor() {
 this.companyBenefitProvider = {
   CompanyGapCoverProvider: [],
   CompanyMedicalAidProvider: []
 };
}

typescript uses a concept called "structural typing".

for further details i suggest you read up on typescript basics: https://www.typescriptlang.org/docs/handbook/type-compatibility.html

Upvotes: 1

Related Questions