无法阅读属性$ onAuth'与angularfire

时间:2016-08-06 14:36:55

标签: angularjs firebase angularfire firebase-authentication

我想让我的应用程序使用firebase auth .. 在这个阶段,我的登录控制器成功了,但是它会登录,下一秒它会被注销。

.controller('LoginCtrl', function ($scope, $location, userAuth) {
     if ($scope.authData) {
        console.log("User " + authData.uid + " is logged in with " + authData.provider);
      } else {
        console.log("User is logged out");
      }
     $scope.login = function() {
      $scope.authData = null;
      $scope.error = null;

      userAuth.$signInWithEmailAndPassword($scope.loginemail, $scope.loginpassword)
      .then(function(authData) {
        $scope.authData = authData;
         console.log(authData);
         $location.path('/home');
         $scope.$apply(); 
      }).catch(function(error) {
        $scope.error = error.message;
      });
    };
  });

我有一个服务,我得到我的firebase对象:

.service('userAuth', ["$firebaseAuth", function($firebaseAuth) {
    return $firebaseAuth();
  }

验证状态的更好方法是什么,以便我可以在整个网站中使用它?

我尝试使用$ onAuth,但我收到此错误

TypeError: Cannot read property '$onAuth' of undefined

1 个答案:

答案 0 :(得分:0)

我假设你正在使用新的Firebase(3.x.x)和新的AngularFire(2.x.x)。

在这种情况下,您应使用jQuery documentation

代替$onAuth

请参阅$onAuthStateChanged