在Auth State上改变了AngularFire

时间:2016-06-24 12:25:29

标签: angularjs firebase angularfire firebase-authentication

尝试使用firebase对用户进行身份验证。使用firebase 2.xx开始我的应用程序,但即使在升级到Firebase 3.xx之后,投掷 错误“onAuthStateChanged不是函数”。

这是我的登录功能的样子 -

.controller('HomeCtrl', ['$scope','$location','CommonProp','$firebaseAuth', '$firebaseObject',function($scope,$location,CommonProp,$firebaseAuth,$firebaseObject) {

    var firebaseObj = $firebaseObject(rootRef);
    var loginObj = $firebaseAuth(firebaseObj); 

    $scope.SignIn = function($scope, user) {
    event.preventDefault(); // To prevent form refresh
    var username = user.email;
    var password = user.password;


    loginObj.$signInWithEmailAndPassword({
            email: username,
            password: password
        })
        .then(function(user) {
            // Success callback
            console.log('Authentication successful');
            $location.path("/welcome");
            CommonProp.setUser(user.password.email);
        }, function(error) {
            // Failure callback
            console.log(error);
        });
}
}]);

1 个答案:

答案 0 :(得分:2)

您的问题是您将$firebaseObject传递给$firebaseAuth()

因此,请确保您正在初始化[$firebaseAuth][1]对象,如下所示,然后您的代码才能正常运行。

var loginObj = $firebaseAuth();

工作jsFiddle进行演示。

您可以在此处查看AngularFire2

的文档