在角度模块中,为什么主体是最后一个数组元素
In angular modules why the body is the last array element?
这更多的是一个架构问题。
定义角度模块的最常见形式之一是:
angular.module('app', [])
.controller('Ctrl', ['$scope', function Ctrl($scope) {
//body...
}]);
但我觉得语法不是很直观。在像AMD:这样的阵列中拥有依赖项列表怎么样
angular.module('app', [])
.controller('Ctrl', ['$scope'],
function Ctrl($scope) {
//body...
});
这样,整个数组将只包含字符串元素,每个元素都指向一个模块。数组与函数参数一一匹配。(有点像arguments
)。
所以我的问题是Angular的设计师为什么选择这个惯例?
它在某种意义上做到了这一点。您可以使用$inject
来完成此操作。
function SomeCtrl ($scope) {
// do something with $scope
}
SomeCtrl.$inject = ['$scope'];
angular
.module('app', [])
.controller('SomeCtrl', SomeCtrl);
我不是这方面的非专家,但我确实找到了一篇关于这个过程如何运作的好帖子,它可能有助于回答你的问题:http://toddmotto.com/angular-js-dependency-injection-annotation-process/
相关文章:
- 表追加而不附加最后一个元素
- 无法在Ionic select中预先选择最后一个选项
- 为什么画布形状只在3个画布中的最后一个画布上渲染
- Jquery append oly获取循环Rails中的最后一个elemen
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- 多维关联数组的最后一个索引
- 无法获取vis.js最后一个或第一个选定的网络节点
- 循环以检查数组中的最后一个图像
- 从输入值中删除最后一个单词
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 如何从多个复选框中获取最后一个值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- 使用querySelector()获取最后一个td元素
- Foreach循环只返回最后一个值
- 通过将6个月添加到今天来获得最后一个月的日期's日期
- 如何使用JavaScript forloop从JSON中删除最后一个逗号
- 'mousemove'画布中的事件侦听器-指针仅在最后一个矩形中更改
- AngularJS多资源调用,只处理最后一个