当我在解析 AngularJS 文档时,我想我会发布这个以获得其他意见。
我的具体情况是,我希望使用模块的 run 方法更改可注射的设置。我有几种不同的方法可以访问注射剂,但不确定使用其中一种方法是否有明显的功能优势。或者他们归结为本质上相同的东西。
比如说我的模块是这样定义的:
var app = angular.module('MyModule', ['some.Third.Party.Module']);
现在考虑第三方模块中有一个工厂需要设置变量。这可以通过执行以下操作来完成:
app.run(['some.Third.Party.Module.Factory', function (theFactory) {
theFactory.someVariable = 'foo';
}]);
另一种方法是:
app.run(function ($injector) {
var theFactory = $injector.get('some.Third.Party.Module.Factory');
theFactory.someVariable = 'foo';
});
一种方法比另一种更好吗?也许我还没有考虑过第三种选择?