【发布时间】:2013-06-06 06:08:35
【问题描述】:
假设我想从 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;
}
});
【问题讨论】:
-
您可以在 Firebase 的官方 Angular 库 AngularFire 中找到一些工作示例。
-
@Kato 我认为我的问题不清楚含糊,我更新了。请再次检查。谢谢
标签: angularjs firebase angularjs-scope