"getUser"メソッドでfacebookからユーザーを取得しようとしましたが、 "property _backendがtypeof Httpに見つかりません"というエラーが表示されます。 理由は何ですか?はhttp.getでfacebookからユーザーを取得しようとしました
ここに私のコード:
export class User {
http:Http;
constructor() {
this.http = Http;
}
public createUser(user,token) {
firebase.database().ref("Users/"+user.uid).set({
name : user.displayname,
token : token
});
}
public removeUser(user) {
}
public getUserToken(id) {
return firebase.database().ref("Users/"+id).child("token");
}
public getUser(token) {
//let http : Http;
return this.http.get("https://graph.facebook.com/me?access_token="+token+"&fields=id,name,picture")
.subscribe(data => data.json());
}
}
私は、ユーザーからのインスタンスを作るために、ここでのgetUserを呼び出そうとしました:
export class HomePage {
constructor(public navCtrl: NavController,http : Http,public nav :
Nav,public loadingCtrl : LoadingController) {
let me = this;
let token;
let user;
let facebookUser;
let userClass = new User();
firebase.auth().getRedirectResult().then(function(result){
me.presentLoadingCustom();
user = result.user.providerData[0];
token = result.credential.accessToken;
facebookUser = userClass.getUser(token);
userClass.createUser(user,token);
nav.setRoot(IndexPage,{user : facebookUser});
});
}
はどこのhttp import文のですか? – KHAN
import {Http} from "@ angular/http";私のクラスの上に – leo180593
なぜあなたはクラスメソッドと一緒にクラス(モデル)にhttpを注入しようとしていますか?なぜサービスでhttp.getリクエストを作成してから、Userモデル(インターフェイスまたはクラス)にデータを割り当てるだけですか?たぶん、ドキュメントをチェックしてください:https://angular.io/tutorial/toh-pt6ここで 'HttpClient'を使用していることに留意してください。ただし、非推奨のHttpModuleを使用している場合は、https:// v4.angular.io/tutorial/toh-pt6私がコンストラクタにhttpプロバイダを注入すると問題が発生しますが、クラス "user"を与えなければなりません(現在のバージョンの角度に応じて) – Alex