作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如果我有一个 Angular 2 组件,并且我从返回异步 promise 或可观察对象的服务中获取数据,那么我该如何调用组件中的方法来显示该数据?
@Component({
moduleId: module.id,
selector: 'charts',
templateUrl: 'charts.component.html',
providers: [DataService]
})
export class ChartsComponent implements OnInit {
constructor(private dataService:DataService)
ngOnInit() {
this.getData();
}
getData(){
this.dataService.getData().then(function (data) {
this.drawChart(data);
});
}
drawChart(){
//implement drawing chart
}
}
问题在于“this.drawChart()”中的“this” promise 不再引用 ChartsComponent 类。如何在 promise 后调用类方法?
此外,我不能将 drawChart() 放入 promise 中,因为它需要使用其他类属性。
最佳答案
当您使用 Arrow functions 时, this
被保留:
getData(){
this.dataService.getData().then((data) => { // <-- changed here
this.drawChart(data);
});
}
关于javascript - 如何在 Angular 2 的 promise 中调用类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38754029/
我是一名优秀的程序员,十分优秀!