Reputation: 591
Angular 4 does not support mutliple constructors implementation, so I'm trying to find a cleaner way in to instantiate my object.
My model look like so
export class SrcFilter {
constructor(public fList?: Array<String>, public sList?: Array<String>, public tList?: Array<String>,
public fList?: Array<String>, public fiList?: Array<String>, public sList?: Array<String>) {
}
}
When I instantiate it, I'm forced to do like so:
allFilters: SrcFilter = new SrcFilter([], [], [], [], [], []);
Instatianting six lists is not pretty, I tried to have an second empty contructor to be able to do somting like
new SrcFilter()
but angular conplains with multiple constructor implementations
Upvotes: 1
Views: 3052
Reputation: 64
If there are no injection by Angular, you can create Factory methods to achive the easy way. Forexample:
export class SrcFilter {
constructor(public aList?: Array<String>, public bList?: Array<String>, public cList?: Array<String>,
public dList?: Array<String>, public eList?: Array<String>, public fList?: Array<String>) {
}
public static getDefault():SrcFilter {
return new SrcFilter([],[],[],[],[],[]);
}
}
then you could use to create new instances this line:
SrcFilter.getDefault();
Upvotes: 3