我试图将一些依赖项注入控制器,作为与John Papa的样式指南内联的代码重构过程的一部分。现在,我们的控制器看起来像这样:
.controller('alerting-settings.mainController', [
'$scope',
'$timeout',
'$location',
'$document',
'$window',
function($scope,
$timeout,
$location,
$document,
$window) {
According to John Papa,应该更像这样:
/* recommended */
angular
.module('app')
.controller('DashboardController', DashboardController);
DashboardController.$inject = ['$location', '$routeParams', 'common', 'dataservice'];
function DashboardController($location, $routeParams, common, dataservice) {
}
那么当我重构时会发生什么?我最终得到了这个:
angular.module('app.alerting-settings')
.controller('alerting-settings.mainController', alerting-settings.mainController);
alerting-settings.mainController.$inject = [
'$scope',
'$timeout',
'$location',
'$document',
'$window'],
问题是我现在收到控制台错误:
我做错了什么?
答案 0 :(得分:3)
您需要在alerting-settings
处重命名alertingSettings
。
您可以在文件名中使用“ - ”,但从不在控制器/服务名称中使用它们,因为它们是“函数”而在javascript中您不能在函数名称中使用短划线
- > function alerting-settings()
不是有效的函数名称。