Je suis nouveau angulaire et firebase, laissez-dire que j'ai un service comme suivi, j'utilise angularfire2
pour travailler avec la base de donnéesimpossible d'extraire les informations de connexion utilisateur dans angular2 et firebase?
import { Injectable } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable,
FirebaseObjectObservable } from 'angularfire2/database';
import { AngularFireAuth } from 'angularfire2/auth';
import { AuthService } from '../../../services/auth.service';
@Injectable()
export class GroupsService {
user: User;
constructor(
private afAuth: AngularFireAuth,
private db: AngularFireDatabase,
) {
this.afAuth.authState.subscribe((loggedInUser) => {
this.user = {
email: loggedInUser.email,
id: loggedInUser.uid
};
console.log(this.user) //getting logged in user info correctly
});
}
getGroups():FirebaseListObservable<any[]>{
console.log(this.user); //unable to get logged in user
return this.db.list('groups',{
query : {
orderByChild: 'createdBy/email',
equalTo: this.user.email
}
});
}
sur la méthode getGroups()
Je reçois des groupes en fonction connecté Adresse e-mail utilisateur, cette fonction, sur console.log(this.user);
je reçois undefined
, peut quelque chose s'il vous plaît comment résoudre ce problème?
Jetez un oeil à ma réponse ici. On dirait un problème similaire https://stackoverflow.com/a/46484449/2521893 –
@FredrikLundin merci pour la réponse, mais j'ai des doutes sur share(), mon application fonctionne même si je supprime share() aussi, vous pouvez S'il vous plaît dites-moi quel est le but de partager() –
En utilisant partage, l'ID utilisateur ne sera récupéré qu'une fois, et non à chaque demande. Cela dépend de comment vous voulez que ça fonctionne –