我是打字稿和 Angular 2 的新手。
我想将getApiData
Method 中的 api 数据传递给类属性currentViewData
。
但是我收到了那个错误:
错误错误:未捕获(承诺):类型错误:无法设置未定义的属性“currentViewData”类型错误:无法设置未定义的属性“currentViewData”
这是我的 API 服务代码:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class ResourceService {
private baseUrl: string = 'http://api.com/blabla';
private currentViewData: object;
constructor(private http: Http) {
}
prepareSubPath(subPath: string): string {
if (subPath.substr(0, 1) !== '/') {
return '/' + subPath;
}
}
getApiData(subPath: string = ''): void {
let url = this.baseUrl + this.prepareSubPath(subPath);
console.log(url);
let data = this.http.get(url)
.toPromise();
data.then(function (resp) {
this.currentViewData = resp.json();
console.info(this.currentViewData);
})
}
}
替换此代码块:
data.then((resp) => {
this.currentViewData = resp.json();
console.info(this.currentViewData);
});
请阅读有关Fat Arrow 函数的文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句