所以我在我的项目中一直使用这样的命名函数:
angular
.module('meanhotel')
.controller('HotelsController', HotelsControllerFn)
//HotelsControllerFn.$inject = ['']
function HotelsControllerFn(){
var vm = this;
vm.title = 'MEAN Hotel App';
}
但突然之间,我收到了像
这样的错误angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module meanhotel due to:
ReferenceError: HotelsController is not defined
这迫使我重命名我的功能与控制器相同,(然后一切正常)。
angular
.module('meanhotel')
.controller('HotelsController', HotelsController)
//HotelsController.$inject = ['']
function HotelsController(){
var vm = this;
vm.title = 'MEAN Hotel App';
}
对此有何看法?我以为我可以把这个功能命名为我想要的任何东西......
答案 0 :(得分:1)
如果在没有[]参数的情况下执行angular.module,则会检索现有模块。在您的代码中,您可以参考名为HotelsController的函数。由于模块无法跟踪它,因此必须抛出错误。
如果您更改参考或创建这样的模块,它应该开始working.angular .module(' meanhotel',[]) .controller(' HotelsController',HotelsControllerFn)