我尝试在页面刷新时保持登录会话,但我在这件事上没有成功。我看了一下找到here的解决方案,它使用$firebaseSimpleLogin
服务来维护登录会话。
从该解决方案中,我所做的一切基本上都是删除了指向Firebase实例的包装器,将其替换为我自己的var ref
并将其作为$firebaseSimpleLogin
的参数。我也实现了数组表示法,因为我已经用我的控制器完成了它。
但是,这个函数甚至没有被执行,因为当我运行代码时它会抛出这个错误:
Uncaught Error: [$injector:unpr] http://errors.angularjs.org/1.3.10/$injector/unpr?p0=%24firebaseSimpleLoginProvider%20%3C-%20%24firebaseSimpleLogin
有谁知道我为什么会这样?我无法看到我的注射有什么问题,就像错误告诉我一样。
var pieShopApp = angular.module('pieShopApp', ['ngRoute', 'ngAnimate', 'firebase']);
var ref = new Firebase ('https://pie-shop.firebaseio.com/users');
pieShopApp.run(['$rootScope', '$location', '$firebaseSimpleLogin', function($rootScope, $location, $firebaseSimpleLogin) {
$rootScope.auth = $firebaseSimpleLogin(ref);
$rootScope.auth.$getCurrentUser().then(function(user) {
if (user) {
$rootScope.currentUser = user;
console.log($rootScope.currentUser);
}
else {
$location.path('/pies/login');
}
});
}]);