Ошибка Typescript: Тип ‘any’ не является типом функции конструктора

#angular #typescript

#угловатый #typescript #angular

Вопрос:

В настоящее время я пробую Angular 2 в сочетании с Ionic 2, так что я немного новичок в TypeScript. По сути, я внедрял RestService и хотел сделать класс Rest абстрактным.

 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 "";
   }}
  

Но я всегда получаю ошибку типа ‘any’ не является типом функции конструктора в строке «экспорт класса RESTServiceJourney расширяет RestService«. Я искал через Google и Stackoverflow и не знаю, что это за ошибка. (Я нашел один в Stackoverflow, но у него проблема с версией.)

Заранее спасибо!

Ответ №1:

Я допустил ошибку при импорте абстрактного класса.

Я написал: импортируйте { RestService } из ‘RestService’;

Но пришлось: импортировать { RestService } из ‘./RestService’;

Комментарии:

1. Я уже отмечаю upvote .. спасибо, но после решения этой проблемы появляется еще одна ошибка «Не удается найти модуль «./ ionic-img-viewer»‘

2. Где вы написали импорт? ionic-img-viewer должен быть на том же уровне, что и скрипт, в котором вы определили свой импорт.