[英]AngularJS - Unable to define controller
我是AngularJS的新手。 有誰知道我為什么收到此錯誤- Argument 'activationCtrl' is not a function, got undefined
HTML-
<div class="form-group row">
<label for="member" class="col-sm-2 form-control-label">Member</label>
<div class="col-sm-10">
<input type="number" class="form-control" id="memberId" placeholder="Member" ng-click = "activation.zipcode()">
</div>
</div>
控制器-
angular.module('app', [])
.controller('activationCtrl', activationCtrl);
function activationCtrl() {
var self = this;
self.zipCode = function() {
console.log("zipcode");
}
}
州-
.when('/activation', {
templateUrl: 'views/activation.html',
controller: 'activationCtrl',
controllerAs: 'activation'
})
您需要像這樣將您的角度控制器注冊到HTML:
使用ng-controller="activationCtrl"
嘗試將其放在html頁面的body標簽中:
<body ng-controller="activationCtrl">
我認為問題可能出在控制器和狀態的定義順序錯誤。 您需要在狀態(路由)之前定義控制器,以便可以在此處使用它。
另外,您可以跳過模塊中的控制器注冊,而僅將其定義為帶有$inject
屬性的單獨函數,然后在狀態(路由)定義中傳遞此函數。 例如:
angular.module('app', ['ngRoute']);
angular.module('app')
.config([$routeProvider, function($routeProvider) {
routeProvider
.when('/activation', {
templateUrl: 'views/activation.html',
controller: activationCtrl,
controllerAs: 'activation'
})
}]);
function activationCtrl() {
var self = this;
self.zipCode = function() {
console.log("zipcode");
}
}
activationCtrl.$inject = [];
參數'activationCtrl'不是一個函數,未定義
當您定義控制器時出現上述錯誤,但是沒有在HTML中導入activationCtrl.js文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.