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

时间:2016-04-26 21:07:57

标签: javascript jquery angularjs web frontend

大家好,看这个! 我在Ctrl中执行功能时遇到问题。

我尝试做一些警报,console.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>

1 个答案:

答案 0 :(得分:0)

尝试更改您的html,在你的ng-click中你指的是SignUp而不是signUp

    <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>