Angular - 函数依赖还是函数参数依赖?

Angular - function in dependency or dependency in function params?

我是 angular 的新手,每个教程的处理方式都不一样,令人困惑。我设法了解最佳实践并遵循它们。但看看这个:

- 了解 Microsoft 的人员如何将 $scope 和 function 放在依赖括号中。

另一方面,Egghead 这家伙是这样做的:

他正在将依赖项放入函数参数中。

有什么区别,最佳做法是什么?

最好将依赖项放在依赖项括号内。因为否则代码将无法在部署时最小化。

使用依赖括号时,传递给此控制器的参数将始终解析为括号内的字符串名称。当您不这样做时(查看 Egghead 示例时),sharedScope 参数将无法重命名为更短的名称(以最小化),因为 Angular 不知道它应该注入什么依赖项。

这些有效地做同样的事情,并且是 AngularJS 提供的 Dependency Annotation 的不同形式。如果代码被缩小,后者将不起作用,因为它会变成 .controller('TodoListController', function (a, b) { 并且没有 a 服务。前者仍然有 '$scope' 字符串,因此 Angular 知道要注入什么服务。

您可以使用 ng-annotate 库从隐式注释代码生成防缩小代码。

我发现隐式注释更容易阅读,当然也更容易编写。如果你需要缩小你的代码,你可以包含一个带有 ng-annotate 的构建作为一个额外的步骤,所以这应该无关紧要。如果您不需要压缩代码,而只是编写非生产示例,则无论如何都不需要使用内联数组注释。


这无关紧要,但由于 Angular 的 controller as 语法,现在注入 $scope 的需求少了很多。

以 Microsoft 为例,这样做是件好事,当您决定在某一时刻缩小代码时,这种类型的编写依赖项将不会出现错误(对于缩小)...