[英]Cannot update component variables inside Angular2 promise callback & ES6
當我嘗試更新自定義組件的綁定模型之一時,我在Angular2網站上遇到了一些問題,這是對數據源的一種調整。
我的自定義服務中包含以下內容:
public GetAllProcesses(): Promise<IProcess[]> {
return this._http.get('api/processes')
.toPromise()
.then(response => response.json() as IProcess[])
.catch(this.handleError);
}
然后在組件中完成以下操作:
export class ProcessesDashboardComponent implements OnInit{
bindedProcessesModel: any[] = [];
constructor(private _mycustomservice: MyCustomService) {}
ngOnInit() {
this.obtainProcesses();
}
obtainProcesses(): void {
this._mycustomservice.GetAllProcesses()
.then((processesServiceData) => {
let bindedAdjustedProcesses: any[] = [];
for(let process of processesServiceData)
{
let singleProcessAdaptedData: any;
singleProcessAdjustedData= {
"Process": process.Name,
"Status": process.Status
};
bindedAdjustedProcesses.push(singleProcessAdjustedData);
}
return bindedAdjustedProcesses;
})
.then(bindedAdjustedProcesses=> this.bindedProcessesModel)
.catch(errorMsg => {
error = errorMsg;
this.bindedProcessesModel = [];
});
}
由於某些原因,我不理解並無法訪問組件的變量,因為在任何回調部分中始終未定義“ this”。 您能協助我做錯什么嗎? 我能夠正確檢索數據,但看起來無法將其分配給組件的變量。
如果你要分配的無極可變bindedProcessesModel的結果,你應該調用的方法。那么以這種方式:
.then((bindedAdjustedProcesses) => {
this.bindedProcessesModel = bindedAdjustedProcesses
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.