2016-07-13 68 views
0

我想定義一個常量並將其注入工廠。我不斷的定義如下:

angular.module("ContactApp").constant("BaseApiURL", "http://localhost:31523/api/"); 

我廠被定義爲:

angular.module("ContactApp").factory('CustomerService', CustomerService); 

//CustomerService.$inject = ['BaseApiURL']; Giving Error when this line is active. 

function CustomerService(BaseApiURL, $resource) { 

    return $resource(BaseApiURL + 'Customers'); 
}; 

上面的代碼工作,但不要我需要不斷的依賴注入的工廠方法?我可以使用$注入到控制器中注入常量,但無法將其注入工廠。

+0

這種方法的問題是什麼? –

+0

根據我的知識,我們需要在任何控制器中使用它之前注入任何服務,類似的,我想我需要注入常量之前使用它到工廠方法,所以我試圖使用CustomerService注入它$ inject = [ 'BaseApiURL'];但隨後代碼停止工作。我正在尋找解釋。 –

+0

你得到了什麼錯誤..? –

回答

1

在角的依賴注入,如果你不這樣做的依賴性註釋(如設置。$注射),角度會認爲該函數的參數名稱是依賴的名稱。

但不要依賴此功能,因爲它會導致問題,當您嘗試來縮小你的代碼。

所以最好的做法應該是做的依賴註釋只要有依賴注入。

順便說一句ü可以設置$工廠注資,但也許ü應該叫CustomerService.$inject = ['BaseApiURL','$resource'];你的情況。