我目前正在尝试将Angular 2与Ionic 2结合使用,所以我对TypeScript有点新意。基本上我正在实现一个RESTService,我想让Rest Class抽象化。
export abstract class RESTService{
mHttp: Http;
mParameters: Parameter[];
mURL: string;
constructor (private http: Http, private parameters: Parameter[]){
this.mHttp = http;
this.mParameters = parameters;
}
// URL of the Rest Service
abstract getURL() : string;
// Convert or handle the Response
handleResponse(rawResponse: Response){
let body = rawResponse.json();
return body.data || { };
}
// Handle an error
abstract handleError(error: any);
// Do the rest call
makeCall(): Observable<any> {
return this.mHttp.get(this.mURL).map(this.handleResponse).catch(this.handleError);
}}
这是从RESTService扩展的类:
export class RESTServiceJourney extends RESTService{
constructor(http:Http, parameters:Parameter[]){
super(http, parameters);
}
// URL of the Rest Service
getURL() : string {
return "";
}
// Convert or handle the Response
private handleResponse(rawResponse: Response){
return "";
}
// Handle an error
private handleError(error: any){
return "";
}}
但我总是得到 类型&#39;任何&#39;在行#34; 导出类时,不是构造函数类型 错误.RESTServiceJourney扩展了RESTService &#34;。我搜索了谷歌和Stackoverflow,不知道这是什么样的错误。 (我在Stackoverflow上找到了一个,但是那个版本有问题。)
提前致谢!
答案 0 :(得分:3)
导入抽象类时我犯了一个错误。
我写道:从'restService'导入{RESTService};
但不得不:从'./restService'导入{RESTService};