Ich versuche, Benutzerinformationen aus der Datenbank des Benutzers abzurufen und mit rootscope von überall her darauf zuzugreifen.
Ich erhalte die E-Mail und die Benutzer-ID des Benutzers, wenn der Benutzer sich anmeldet. Um die Benutzerinformationen aus der Datenbank zu erhalten, muss ich jedoch meine Datenbank aufrufen und die Informationen einzeln in rootscope speichern, um darauf zugreifen zu können überall.
angularjs rootscope Benutzerdatenbank info von Firebase
So ist meine Frage unter:
- Wie kann ich rootscope in diesem Beispiel verwenden?
- Gibt es einen besseren Weg, dies zu tun?
- Im folgenden Beispiel zeigt das Konsolenprotokoll den Vornamen, aber ich weiß nicht, wie man es rootscope?
Danke für Hilfe.
app.run(['$rootScope', '$state', '$stateParams', '$cookies', "$location",
function ($rootScope, $state, $stateParams, $cookies, $location) {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
$rootScope.user.uid = user.uid;
$rootScope.user.email = user.email;
return firebase.database().ref('/users/' + user.uid).once('value').then(function(snapshot) {
var firstname = snapshot.val().firstname;
console.log("first name", firstname);
});
} else {
// No user is signed in.
}
});
}]);
Könnten Sie bitte eine vollständige Antwort schreiben und wie Sie sie an meinen Code anpassen? Ich bin ein bisschen verwirrt. – cplus
welche Version von Firebase Sie verwenden –
haben es geschafft, können Sie 'var myUser = $ firebaseAuth(). $ GetAuth();' in jedem Controller, um in Benutzerinformationen angemeldet zu bekommen. –