私はAngular 2コンポーネントを持っていて、非同期の約束または観測可能性を返すサービスからデータを取得すると、そのデータを表示するためにコンポーネント内のメソッドを呼び出す方法はありますか?アングル2の約束の中でクラスメソッドを呼び出すにはどうすればよいですか?
@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()」にはもはやChartsComponentクラスを参照していることではありません。私はどのようにしてクラスメソッドを約束どおりに呼び出すことができますか?
また、他のクラスプロパティを使用する必要があるため、promiseの中にdrawChart()を配置することはできません。
ありがとうございました!あなたは私に多くの頭を壁に叩いてくれました。 – Quinma