javascript - 这两种声明 AngularJS Controller 的方式有什么区别?

标签 javascript angularjs dependency-injection

这两个相等吗?

后者只是编写 Controller 的“速记方式”吗?

angular.module("root", [])
.controller("index", ["$scope", function ($scope) {
    // ..
}]);

对比

angular.module("root", [])
.controller("index", function ($scope) {
    // ..
});

谢谢!

最佳答案

将名称重复为字符串(他们称之为 property annotation )是为了防止损坏。 JavaScript 压缩器经常会破坏变量名称,这会阻止 Angular 通过名称查找依赖项来注入(inject)它们。重整对字符串没有影响,因此如果它们被注释,注入(inject)器仍然可以查找它们。

如果您绝对确定您的代码不会被破坏,则可以删除属性注释。如果您正在与某人合作,或者您正在编写一个库,请使用它。

关于javascript - 这两种声明 AngularJS Controller 的方式有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23709448/

相关文章:

javascript - 使用 <a> 标记和 onclick 使用 javascript 更改页面元素的样式?

angularjs - Grunt Concat 任务 : How to exclude some files?

android - 方形 Dagger 错误 : class is exclusively members injected/cannot be scoped required

android - Dagger + Kotlin 不注入(inject)

dependency-injection - Flutter:(如何)我可以拥有一个每个都依赖 Provider 的小部件的 PageView 吗?

javascript - 这是如何被 Javascript 词法分析器解析的? (没有括号的闭包模式)

javascript - 是否可以在 JavaScript 中编写数字 swap() 函数?

javascript - datejavascript 将数值转换为时间值

javascript - Angular ng-if 子句不能双向工作

node.js - 使用 Protractor 给出错误的端到端测试