控制器功能在 Angular.js 中不起作用

Controller function doesn't work in Angular.js

本文关键字:不起作用 js Angular 功能 控制器      更新时间:2023-09-26
大家

好!我在 Ctrl 中执行函数时遇到问题。

我尝试做一些警报,控制台.log并在此处搜索答案,但没有找到相同的问题,只是相似。我会感谢大家帮助我解决这个问题)

.HTML

// ctrls.js
var gameApp = angular.module('gameApp');
var AuthorizationCtrl = gameApp.controller('AuthorizationCtrl', function($scope) {
    $scope.email = email.value;
    $scope.password = password.value;
    $scope.signUp = function() { // this function isn't executed when I hope it to be
        console.log($scope.email, $scope.password);
        gameFactory.signUp(email, password).then(function() {
        });
    };
});
// services.js
function Factory(FBMSG, $firebaseArray, $firebaseAuth) {
    var events = {},
        ref = new Firebase(FBMSG),
        games = $firebaseArray(ref),
        auth = $firebaseAuth(ref);
    events.getAllGames = function() {
        return games.$loaded();
    };
    events.signUp = function(email, password) {
        return auth.createUser({
            email: email,
            password: password
        });
    };
    return events;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!-- ng-view -->
<div ng-controller="AuthorizationCtrl" style="background-color: rgba(0, 0, 0, .5); width: 40%; margin:auto">
    <form>
        <div class="form-group">
            <label for="email">Email address</label>
            <input ng-model='email' type="email" class="form-control" id="email" placeholder="Email" required>
        </div>
        <div class="form-group">
            <label for="password">Password</label>
            <input ng-model="password" type="password" class="form-control" id="password" placeholder="Password" required>
        </div>
        <a href="">Forgot your password?</a>
        <div>
            <button ng-click="SignUp()">SignUp</button> <!-- Problem!!! -->
        </div>
    </form>
</div>

尝试用这个更改你的html,在你的ng-click中,你指的是注册而不是注册

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!-- ng-view -->
<div ng-controller="AuthorizationCtrl" style="background-color: rgba(0, 0, 0, .5); width: 40%; margin:auto">
    <form>
        <div class="form-group">
            <label for="email">Email address</label>
            <input ng-model='email' type="email" class="form-control" id="email" placeholder="Email" required>
        </div>
        <div class="form-group">
            <label for="password">Password</label>
            <input ng-model="password" type="password" class="form-control" id="password" placeholder="Password" required>
        </div>
        <a href="">Forgot your password?</a>
        <div>
            <button ng-click="signUp()">SignUp</button> <!-- signUp instead of SignUp!!! -->
        </div>
    </form>
</div>