2013-03-30 26 views
4

我知道,爲了縮小和混淆我們應該總是使用$注入器(通過controllerName.$inject = ['$service', '$service2'])來指定所需的實際服務名稱。

但是,如果我編寫一個依賴其他服務的自定義服務,我可以/應該做同樣的事情嗎?在控制器上調用使用。$ inject方法找到的唯一示例。

如果我做

myModule.factory('myService', function($rootScope, anotherService) { 
    return { 
    foo: 'bar' 
    }); 

我應該追加這個?

myService.$inject = ['$rootScope', 'anotherService'];

也許它應用於模塊作爲一個整體呢?

myModule.$inject = ['$rootScope', 'anotherService'];

...但是,也許在這種情況下,該模塊已經跟蹤它的服務,因此縮小是不是一個問題?

回答

4

檢查dependency injection guide,部分在線註釋

下面也是一個有效的語法,它是安全的縮小:

myModule.factory('myService', ['$rootScope', 'anotherService', 
     function($rootScope, anotherService) { 

     .... 
}]); 
+0

..There啊!我很早就閱讀了該頁面,然後最近瀏覽了至少兩次,只是簡單地忽略了這一部分。非常感謝! – Offlein

相關問題