我有以下简化功能:
public constructPoints() {
mapArray.push("hello");
}
我从两个位置调用该功能:
protected onDataSourceLoaded() {
this.constructPoints();
}
和
public OnSourceChanged(source) {
this.pageSource = source;
//this.onDataSourceLoaded();
this.constructPoints();
}
在同一个文件中,我有一个代码块,其中引用了OnSourceChanged:
const sourceNavContext:SourceNavContext = {
Items: this.sourceNavItems,
Context: this.fieldFormContext,
onRecordChanged: this.OnSourceChanged
};
OnDataSourceLoaded是一个从基类继承的函数:
protected abstract onDataSourceLoaded()
//and in that base class there's also this:
private wireupDataLoadedSubscription() {
let subscription
= this.dataLoadedNotifier.subscribe(next => this.onDataSourceLoaded());
this.subscriptions.push(subscription);
}
这是我的问题:当我从onDataSourceLoaded调用this.constructPoints时,它就会完成它应该做的事情。当我从OnSourceChanged调用它时,我收到以下错误: TypeError:this.constructPoints不是函数
我不明白为什么我会收到此错误。有人能指出我正确的方向吗?正如您所看到的,我在最后一个代码片段中注释掉了一行,其中调用了this.onDataSourceLoaded。如果我取消注释这一行,我会得到相同的错误但是对于这个函数。