0

再次返回新类型错误。现在正在进行身份验证。使用 AngularJS 和 firebase。现在,当我在单击提交按钮时运行我的函数时,我在控制台中得到了这个“TypeError:this.mRef.auth is not a function”。我认为这很简单,但这是我的登录控制器:

.controller('Login', ['$scope', 'angularFire',
    function($scope, angularFire) {

        $scope.signin = function(){
            var ref = "https://myappurl.firebaseio.com";
            var auth = new FirebaseAuthClient(ref, function(error, user) {
                if (user) {
                // user authenticated with Firebase
                console.log(user);
            } else if (error) {
                 // an error occurred authenticating the user
                 console.log(error);
                } else {
                // user is logged out
                console.log("hello");
            }
        });
            console.log($scope);
            var user = $scope.cred.user;
            var pass = $scope.cred.password;

            auth.login('password', {
                email: user,
                password: pass,
                rememberMe: false
            });
        }
}])

接下来是html。我将它放在一个名为 login 的控制器中,这是其中的内容:

<div class="inner loginbox" ng-controler="Login"
     <fieldset>
            <label class ="white">Username</label>
            <input type="text" id="username" ng-model="cred.user">
            <span class="help-block"></span>
            <label class ="white">Password</label>
            <input type="password" id="password" ng-model="cred.password">
            <div class="centerit rem-me">
                <label class="checkbox">
                    <div class="white">Remember me?
                        <input type="checkbox" ng-model="cred.remember">
                    </div>
                </label>
            </div>
            <div class="spacer1">
            </div>
            <a class="btn btn-inverse btn-large btn-width" id="signupsubmit" ng-click="signin()">Sign in</a>
    </fieldset>
</div>

我得到的类型错误是指第 79 行的 firebase-auth-client.js。在 chrome 中,我在控制台中有这个: Uncaught TypeError: Object https://kingpinapp.firebaseio.com has no method 'auth'

4

1 回答 1

2

实例化 FirebaseAuthClient 时,您应该传递一个实际的 Firebase 引用,而不仅仅是一个的字符串表示形式。

更新您的代码以使用以下代码段应该可以解决您的问题:

var ref = new Firebase("https://myappurl.firebaseio.com");
var auth = new FirebaseAuthClient(ref, function(error, user) {
于 2013-05-03T16:39:19.103 回答