AngularJS错误: TypeError: v2.登录不是函数

标签 angularjs firebase angularjs-ng-click firebase-authentication

我想在单击登录按钮时调用登录函数,但在标题中不断收到错误消息。有人可以指出我的脚本中的错误吗?

login.js 代码如下:

/*global Firebase, angular, console*/

'use strict';
// Create a new app with the AngularFire module
var app = angular.module("runsheetApp");

app.controller("AuthCtrl", function ($scope, $firebaseAuth) {
    var ref = new Firebase("https://xxxxx.firebaseio.com");
    function login() {
        ref.authWithPassword({
            email    : "xxxxx",
            password : "xxxx"
        }, function (error, authData) {
            if (error) {
                console.log("Login Failed!", error);
            } else {
                console.log("Authenticated successfully with payload:", authData);
            }
        });
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.min.js"></script>

login.html 的代码也如下:

<div class="container" style="max-width: 300px">
    <form class="form-signin">       
      <h2 class="form-signin-heading" style="text-align: center">Please Sign In</h2>
      <input type="text" class="form-control" name="username" ng-model = "username" placeholder="Email Address" required="" autofocus="" />
        </br>
      <input type="password" class="form-control" name="password" ng-model = "password" placeholder="Password" required=""/>
        </br>
      <button class="btn btn-lg btn-primary btn-block" type="submit" ng-click="login()">Login</button>   
    </form>
  </div>

最佳答案

这里是边缘情况,但为了后代我想提一下。当使用带有 name 形式的controllerAs 模式时,我遇到了同样的错误。与 ng-submit 具有相同的值。例如:

<form name="authCtrl.signUp" ng-submit="authCtrl.signUp()">

抛出:TypeError:v2.signUp 不是函数

解决方案是将表单的名称更改为不同的名称:

<form name="authCtrl.signUpForm" ng-submit="authCtrl.signUp()">

关于AngularJS错误: TypeError: v2.登录不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32003458/

相关文章:

angularjs - 模型更改后ngRepeat不更新

javascript - 如何跟踪某人是否单击链接以离开 mixpanel/GA 中的页面

javascript - 如果不希望返回任何内容,我应该在 https 可调用函数中返回什么

angularjs - 我可以同时使用 ng-click 和 onclick

javascript - 如何在嵌套的 ng-repeat 指令中使用控制语句(if 语句)?

javascript - 当文件超过 500KB 时,AngularJS 文件上传显示 500 内部服务器错误

javascript - $createUser(credentials) - Firebase 创建 Slack 的克隆

成功上传图像后 firebase snapshot.downloadURL 未定义

angularjs - 在 ng-click angular.js 中传递按钮 ID

javascript - 使用 ng-click 自动传递 $event?