这是Angular中依赖注入的正确方法吗?

时间:2015-12-14 15:39:58

标签: angularjs

所以我是Angular的新手,我一直在阅读依赖注入的主题。

我将此功能添加到我的应用程序中,但仍然遇到了一个eslint错误:

  

您应该使用DI

的函数语法

我看不出有什么问题。有人可以帮忙吗?

angular.module('tools').config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { 
        $routeProvider.otherwise({ redirectTo : '/404' });
        $locationProvider.html5Mode(true)
    }
]);

我得到的确切信息是 “1:1错误您应该使用DI angular / di”的函数语法

2 个答案:

答案 0 :(得分:4)

它与eslint-plugin-angular的默认配置有关。只需加入

/*eslint angular/di: [2,"array"]*/

在js文件的开头,查看错误是否消失。如果是这样,请添加

"angular/di": [2, "function"]

到你的eslint配置

注意: eslint要求您使用一致的依赖注入,因此您将始终必须使用为项目选择的相同类型的依赖注入

来源:eslint-plugin-angular docs

答案 1 :(得分:0)

除了禁用掉毛之外,您还可以将其移至某个函数上。

如果您使用的是ngInject之类的方法,则可以这样做:

angular.module('tools').config(myRoutConfig);


/** @ngInject */
function myRoutConfig($routeProvider, $locationProvider) { 
    $routeProvider.otherwise({ redirectTo : '/404' });
    $locationProvider.html5Mode(true)
}

希望这对某人有帮助!