以下agularjs控制器定义的区别是什么?
What is difference between following agularjs controller definition?
var app = angular.module('myApp', []);
app.controller('myController', ['$scope', function($scope, []) {
.....
}]);
和
var app = angular.module('myApp', []);
app.controller('myController', function($scope, []) {
.....
});
在第一个示例中,回调函数周围使用了方括号,但在第二个示例中,回调函数周围没有方括号。
第二个是用来防止最小化篡改的,因为当你篡改第一个版本时,你会得到比如
var b = a.module('myApp', []);
b.controller('myController', function(a, []) {
.....
// if you use $scope here it will get mangled and may not be what you expect, this potentially breaks the code
});
然而,如果你使用第二个,你就保护了你的变量,这样angular就知道你是如何分配注入依赖的,你的代码就不会再崩溃了!
您可以使用字符串和变量名注入依赖项,这用于最小化,因为变量/参数名称正在被计算和注入。
第一个例子实际上应该这样写:
var app = angular.module('myApp', []);
app.controller('myController',[ '$scope', function($scope, []) {
.....
]});
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- 在ng重复循环中显示条件内容的最佳方式是什么
- 我的客户端选项是什么
- 这是什么“;要求“;事情
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- @@(“at at”)在ES6 JavaScript中是什么意思
- knex:根据结果创建数组的合适方法是什么
- emu -model、emu -restless和emu之间的主要区别(优缺点)是什么?
- function()在jQuery中是什么意思?这个和$(这个)有什么区别