Angular firebase,不能使用工厂登录

时间:2015-03-31 21:40:58

标签: angularjs firebase

当我尝试使用此代码登录时出错。创建用户的部分工作完美,我使用的登录方法几乎相同。但chrome给了我这个错误信息:

TypeError: undefined is not a function
    at Object.loginUser (http://localhost:8080/js/app.js:28:10)
    at Scope.HomeController.$scope.loginUser (http://localhost:8080/js/app.js:197:9)

这是html:

<button ng-click="createUser(email, password)">Create user</button>
<button ng-click="loginUser(email, password)">Login</button>

在控制器中:

$scope.createUser = function(email, password) {
    Auth.createUser(email, password); 
}

$scope.loginUser = function(email, password) {
    Auth.loginUser(email, password);
}

工厂:

(function () {
    angular
        .module("myQuiz")
        .factory("Auth", ["$firebaseAuth", function($firebaseAuth) {
            var ref = new Firebase("https://angularquiz.firebaseio.com/");

            return {
                createUser: function(email, password) {
                    ref.createUser({
                        email: email,
                        password: password
                    }, function(error, userData) {
                        if(error) {
                            console.log("Error creating user: ", error);
                        } else {
                            console.log("Succesfully created an account with uid: " + userData.uid);
                        }
                    });
                },
                loginUser: function(email, password) {
                    ref.authwithPassword({
                        email: email,
                        password: password
                    }, function(error, authData) {
                        if(error) {
                            console.log("Login failed! " + error);
                        } else {
                            console.log(authData + "Succesfully authenticated!");
                        }
                    });
                }
            }
    }]);
})(); 

1 个答案:

答案 0 :(得分:0)

错字,其authWithPassword不是authwithPassword!

现在可以使用