我有一个自定义类数组的属性。对该数组填充对服务的调用,该服务调用Web服务获取数据。我已订阅了可观察的对象,并且正在使用complete事件来触发加载图形的方法。
图形使用的数据应来自在订阅过程中填充的数组,但是当我尝试在方法中这样做时,组件属性上出现未定义的错误。为什么会这样,我虽然该组件属性应该可由同一类中的方法访问。
export class MetricsComponent implements OnInit{
errorMessage: string;
metric: MetricData[] = [];
//constructor is used for dependency injection
constructor(public _metricsService: MetricsService){}
ngOnInit(): void {
console.log('talking to service...');
this._metricsService.getData()
.subscribe(
data => this.metric = data,
error => this.errorMessage = <any>error,
this.LoadChart
);
}
LoadChart(): void {
console.log(this.metric); // <== this returns as undefined
}
使用箭头功能保留范围 this.
ngOnInit(): void {
console.log('talking to service...');
this._metricsService.getData()
.subscribe(
data => this.metric = data,
error => this.errorMessage = <any>error,
() => this.LoadChart()
);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句