firebase からユーザー情報を取得したいとします。このユーザー情報は複数のルート/コントローラーに表示されます。
$rootScope
返されたユーザー情報は必要ですか?
また
各コントローラーで以下のコードを呼び出しますか?
firebaseAuth.firebaseRef.child('/people/' + user.id).on('value', function(snapshot) {
$scope.user = snapshot.val();
})
アップデート
関数を使用して次のサービスがありますgetUserInfo()
が、複数のコントローラーでそれを使用する最良の方法は何ですか? firebaseAuth.getUserInfo().then()
各コントローラを呼び出す?ユーザーデータの場合、複数のコントローラーで使用する必要があります。なぜ私はそれを設定しないの$rootScope
ですか?したがって、別のコントローラーで何度も呼び出す必要はありません。
myapp.service('firebaseAuth', ['$rootScope', 'angularFire', function($rootScope, angularFire) {
this.firebaseRef = new Firebase("https://test.firebaseio.com");
this.getUserInfo = function(id) {
var userRef = this.firebaseRef.child('/human/' + id);
var promise = angularFire(userRef, $rootScope, 'user', {});
return promise;
}
});