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脚本中添加了脚本