角度依赖注入,这是更好的尝试,有什么区别?

时间:2015-11-12 07:24:43

标签: javascript angularjs

我现在正在使用角度一段时间,当我阅读示例或教程时,我总是看到他们如何将服务注入控制器的两种方式。

以下两种方法之间的主要区别是什么?

1

.controller('MyController', ['myService', function(myService) {
}]);

2

.controller('MyController', function(myService) {
});

我在控制器JS文件的第一行包含服务:

angular.module('myApp.controllers', ['myApp.services']);

2 个答案:

答案 0 :(得分:1)

第一种风格是officially recommended

但第二种用法也有其自身的优势:

  

这种方法的一个优点是没有名称数组可以与函数参数保持同步。您还可以自由地重新排序依赖项。

您还可以使用gulp-ng-annotate

等工具修复minify问题

由于两种用法都由AngularJS描述和支持,我认为你可以自由选择其中任何一种,只记得在整个项目中保留它。

答案 1 :(得分:0)

您必须始终考虑将您的实施用于生产。 第一种方法是正确的,因为您可能只在 myController 中使用 myService ,严格注入是一个很好的选择。

第二种方法不利于维护和易读性。为什么要在myApp中注入myApp.services的所有服务?

最后,第二种方法可能会在构建阶段(minify)上造成一些错误。

享受AngularJS。

相关问题