2015-12-14 129 views
2

所以我是Angular的新手,我一直在阅读依赖注入的主题。这是在Angular中依赖注入的正确方法吗?

我添加了这个功能到我的应用程序,但总是收到eslint错误:

您应该使用函数语法DI

我看不出什么错什么,我已经声明。谁能帮忙?

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

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

+2

这看起来很适合我。不知道为什么你会得到这个错误。也许发布整个错误信息,如果有一些细节你错过了。 – Gustav

+0

使用这个版本比只使用这个功能的版本更好,这样你在缩小时就不会混乱。 –

+0

对我来说看起来是正确的。 – MoLow

回答

4

它有eslint-插件棱角的默认配置做。只要放在

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

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

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

您eslint配置

注: eslint要求您使用一致的依赖注入,所以你总是要使用依赖注入的相同的风格,你选择适合您项目

来源:eslint-plugin-angular docs

+0

看来这是问题的感谢,所以将规则添加到我的配置文件。 – NiseNise

+1

只要您保持一致,并且您记得使用缩小的纯功能DI小心,无论哪种方式都应该没问题。从技术上讲,阵列DI需要一些额外的手动工作和注意力,所以如果你走这条路线,要小心。 *注意:*根据John Papa的角度风格指南,您应该避免函数和数组依赖注入,并使用$ inject风格。 https://github.com/johnpapa/angular-styleguide/blob/master/README.md#style-y091 –