0
我剛剛創建了一個簡單的應用程序。 main controller
的路線正在工作,但不是爲另一個。 這是路線文件的代碼AngularJS爲控制器顯示未定義的功能
$routeProvider
.when('/', {
templateUrl: 'app/main/main.html',
controller: 'MainController',
controllerAs: 'main'
})
.when('/signatures', {
templateUrl: 'app/components/signature/signature.html',
controller: 'SignatureController',
controllerAs: 'signature',
resolve: {
signatureLists: function(SignatureService){
return SignatureService.getSignatures();
}
}
})
.otherwise({
redirectTo: '/'
});
和下方的部分是控制器
(function() {
'use strict';
angular
.module('demoapp')
.controller('SignatureController', SignatureController);
/** @ngInject */
function SignatureController(signatureLists) {
var vm = this;
vm.signatures = signatureLists;
}
})
我在另一個文件中定義的模塊:
(function() {
'use strict';
angular
.module('demoapp', ['ngRoute', 'toastr']);
})();
當我嘗試請訪問/signatures
頁面,我收到此錯誤:
Error: [ng:areq] Argument 'SignatureController' is not a function, got undefined
也許它只是一個愚蠢的錯誤,由於一個錯字或別的東西,但我仍然無法弄清楚
您忘了自己調用控制器closure .. do()在末尾 – Developer
檢查您是否在您的html腳本中添加了腳本