2014-04-07 135 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

这是正确的两种方式,对我来说我更喜欢使用的第一个例子,因为你可以注入的依赖更快速,并以类似的方式为你“在相同的模块之间注入'模块。