Angular $ injector vs inject

时间:2014-02-14 11:02:20

标签: angularjs

我一直在使用两种方法将依赖项注入单元测试中,我想知道区别是什么,如果一种方法更好,最终结果是相同的。下面的两个片段都输出相同的'calendarSvc'服务对象。

beforeEach(inject(function($injector) {
  console.log(1, $injector.get('calendarSvc'));
}));

beforeEach(inject(function(calendarSvc) {
  console.log(2, calendarSvc);
}));

1 个答案:

答案 0 :(得分:2)

如果我没有弄错的话,inject使用$injector来完成这项工作,所以最后也是如此。

inject的优点是更直观,更容易并且编写的代码更少。它的工作方式与普通角度DI一样,只需添加通过参数注入的内容即可。

请参阅正常代码中正常注射与$injector的原因。只需手动注入所有依赖项,就可以快速编写每个依赖项的参数。