注册angularjs控制器没有返回任何东西

时间:2017-11-24 15:34:46

标签: javascript angularjs

我在angularjs中创建了我的第一个控制器,但是我似乎无法调用register函数,因为没有打印出console.log消息。我已将按钮设置为submit,然后在表单中调用ng-submit="vm.register()"。但是在控制台中没有消息甚至没有错误?

HTML

<div class="col-md-5" ng-app="KryptoApp" ng-controller="RegisterController">
    <form id="sign_up" ng-submit="vm.register()" novalidate>
        <div class="box_form">
            <div class="form-group">
                <label>Email</label>
                <input type="email" class="form-control" ng-model="vm.email" placeholder="Din email">
            </div>
            <div class="form-group">
                <label>Brugernavn</label>
                <input type="text" class="form-control" ng-model="vm.username" placeholder="Dit brugernavn">
            </div>
            <div class="form-group">
                <label>Adgangskode</label>
                <input type="password" class="form-control" ng-model="vm.password1" placeholder="Din adgangskode">
            </div>
            <div class="form-group">
                <label>Adgangskode bekræftelse</label>
                <input type="password" class="form-control" ng-model="vm.password2" placeholder="Bekræft din adgangskode">
            </div>
            <div class="checkbox-holder text-left">
                <div class="checkbox_2">
                    <input type="checkbox" value="accept" id="check_2" name="check">
                    <label for="check_2">
                        <span>I Agree to the
                            <strong>Terms &amp; Conditions</strong>
                        </span>
                    </label>
                </div>
            </div>
            <div class="form-group text-center add_top_30">
                <button class="btn_1" id="sign_up_btn" type="submit">Opret</button>
            </div>
        </div>
    </form>
</div>

控制器

    (function () {
    'use strict';

    angular
      .module('KryptoApp')
      .controller('RegisterController', RegisterController);

    RegisterController.$inject = ['$location', '$scope', 'Authentication'];


    function RegisterController($location, $scope, Authentication) {
      var vm = this;

      vm.register = register;


      function register() {
        Authentication.register(vm.email, vm.password1, vm.password2, vm.username);
        console.log('test');
      }
    }
  })();

1 个答案:

答案 0 :(得分:2)

您需要使用 controller as 语法

div class="col-md-5" ng-app="KryptoApp" ng-controller="RegisterController as vm">