我刚刚创建了一个简单的应用程序。 main controller
的路由正在运行,但不适用于其他路由。
这是路径文件代码的一部分
$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
页面时,出现此错误:
错误:[ng:areq]参数'SignatureController'不是函数,未定义
也许这只是一个愚蠢的错误,因为一个错字或其他东西,但我仍然无法弄清楚
答案 0 :(得分:1)
你忘了自己调用控制器闭包......最后一个()
(function() {
'use strict';
angular
.module('demoapp')
.controller('SignatureController', SignatureController);
/** @ngInject */
function SignatureController(signatureLists) {
var vm = this;
vm.signatures = signatureLists;
}
})()