Ionic(AngularFire2)アプリケーションでは、Firebaseデータベースから関連データを取得するためにFirebase User UIDを取得する必要があります。たとえば、Firebaseにはノード( '/ users')があり、そのキーはFireBase Auth User UIDです。AngularFire2がUIDを取得し、どのページでも使用しています
{
"users" : {
"LYW6i8sTbWauCvkXULIbszIWOdm1" : {
"cellPhone" : "123321",
"name" : "Name1",
"userType" : "0"
},
"i4KSAzO2UhakowLKOZCa0ZeohRH3" : {
"cellPhone" : "43343",
"name" : "Name2",
"userType" : "1"
}
}
}
私はobservablesを使用して、すべてのページに対して何度もUIDを取得しています。私はたくさんの加入者がいると思います。イオンアプリケーションがFirebase認証サーバーにユーザーUIDを要求するたびに、
たとえば、
export class AccountProfilePage {
user = {} as User
constructor(public navCtrl: NavController, public navParams: NavParams,
private afDb:AngularFireDatabase, private afAuth:AngularFireAuth) {
}
updateProfile(){
this.afAuth.authState.subscribe(authState=>{
this.afDb.object('users/'+authState.uid).update({
cellPhone:this.user.cellPhone
})
})
}
}
正しい方法ですか?
サービスを作成してサービスに登録する必要があります。サービスをインストールするときは、一度作成したサービス –