我在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 & 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');
}
}
})();
答案 0 :(得分:2)
您需要使用 controller as
语法
div class="col-md-5" ng-app="KryptoApp" ng-controller="RegisterController as vm">