エラー TS4053: エクスポートされたクラスのパブリック メソッドの戻り値の型に 'Observable' という名前があるか、または使用されています 質問する

エラー TS4053: エクスポートされたクラスのパブリック メソッドの戻り値の型に 'Observable' という名前があるか、または使用されています 質問する

ionic 2 と angular 2 を使用してアプリをビルドしようとしていますが、アプリを実行しようとするとこのエラーが発生します。確認するために別のプロジェクトをビルドしましたが、同じ問題が発生し、この問題に本当に困惑しています。

写真に誤りがあります

これは私のサービスコードです

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { Storage} from '@ionic/storage';
import {NavController} from "ionic-angular";


/*
  Generated class for the MyService provider.

  See https://angular.io/docs/ts/latest/guide/dependency-injection.html
  for more info on providers and Angular 2 DI.
*/
@Injectable()
export class MyService {
  public local :Storage;
  public getsession : any;
  constructor(private http: Http, private navCtrl : NavController) {
    this.local = new Storage();
    console.log("my-service page")
  }

  postLogin(data){
    let link = "http://adirzoari.16mb.com/login.php";
    return this.http.post(link,data)
        .map(res => res.json())
  }

  checkToken(){
    return this.getsession =this.local.get('token');
  }

}

ベストアンサー1

同じ問題に直面している他の SO ユーザーの役に立つかもしれないので、これを回答として追加します。

と同じようにフォロー前述のように、その問題を解決するには、明示的にクラスをインポートしますObservable:

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
// ...
import { Observable } from "rxjs/Observable"; // <- add this import

そして、メソッドに明示的な戻り値の型を指定します(これもラフィンコメントありがとうございます):

postLogin(data): Observable<any> {
    // ...
}

おすすめ記事