2015-12-14 93 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 –