2014-04-07 132 views
0

我一直在使用angularJS一段時間了,我想知道是否這樣使用DI是正確的。假設我想定義一個服務,它需要一些角度服務。我可能會寫:AngularJS依賴注射器

var app = angular.module('myapp', []); 
app.service('myService', function($q, $http) { 
    // Do stuff 
}); 

它是正確的,如果我寫的這個:

var app = angular.module('myapp', []); 
app.service('myService', function($injector) { 
    // DI 
    var $q = $injector.get('$q'); 
    var $http = $injector.get('$http'); 
}); 

我覺得它更清晰,更容易添加/刪除依賴關係。

感謝擡起頭:-)

+2

就目前而言,縮小會因爲'$ injector'將被重命名而中斷。無論哪種情況,您都應該使用名稱(字符串)作爲依賴關係。 –

+0

哦,對了,我忘了提及我有gulp-ngmin,它正在爲我改寫它。如果你忽略縮小部分,這是否正確?我會編輯我的帖子,因爲它不是真正的縮小。 – ImSoNuts

回答

0

這是正確的兩種方式,對我來說我更喜歡使用的第一個例子,因爲你可以注入的依賴更快速,並以類似的方式爲你「在相同的模塊之間注入'模塊。