【发布时间】:2018-07-23 15:58:57
【问题描述】:
我的constructor 中有以下代码来初始化变量。
public Elements: Observable<dcElementDataStoreItem>;
private elementSubjectData: BehaviorSubject<dcElementDataStoreItem>;
constructor() {
this.elementSubjectData = new BehaviorSubject([]) as BehaviorSubject<ElementDataStoreItem>;
this.Elements = this.elementSubjectData.asObservable();
}
现在只有 2 行,我可能有几个类似的项目。 那么我可以做类似下面代码的事情吗,(但这不起作用)
constructor() {
this.initSubjectData<dcElementDataStoreItem>(this.elementSubjectData, this.Elements);
}
private initSubjectData<T>(privateList: BehaviorSubject<T>, publicList: Observable<T>) {
privateList = new BehaviorSubject([]) as BehaviorSubject<T>;
publicList = privateList.asObservable();
}
这样我就可以重用这个initSubjectData 来初始化所有其他可能的方法
【问题讨论】:
标签: angular typescript initialization code-reuse modularity