我一直看到下面的angularjs控制器语法结构。
angular.module('7minWorkout').controller('WorkoutController',
['$scope', '$interval', '$location',
function ($scope, $interval, $location)
{
}]);
为什么在参数名称中重复?为什么不这样
angular.module('7minWorkout').controller('WorkoutController',
['$scope', '$interval', '$location',
function ()
{
}]);
要么
angular.module('7minWorkout').controller('WorkoutController',
[
function ($scope, $interval, $location)
{
}]);
数组语法将帮助您缩小/缩小js
代码。
angular.module('7minWorkout').controller('WorkoutController',
function ($scope, $interval, $location) {
// code here
});
将被缩小并修改为:
angular.module('7minWorkout').controller('WorkoutController',
function (a, b, c) {
// code here
});
因此Angular将无法确定要注入哪些依赖项
另一方面,使用array
声明:
angular.module('7minWorkout').controller('WorkoutController',
['$scope', '$interval', '$location', function ($scope, $interval, $location) {
// code here
}]);
将缩小为:
angular.module('7minWorkout').controller('WorkoutController',
['$scope', '$interval', '$location', function (a, b, c) {
// code here
}]);
所以角就知道了a
,b
和c
代表。
如果您使用第一个示例代码,则还有另一种注入变量的方法,如下所示:
WorkoutController.$inject = ['$scope', '$interval', '$location'];
要么
angular.module('7minWorkout').controller('WorkoutController', /* @ngInject */
function ($scope, $interval, $location) {
// code here
});
$inject
当注释代码时,它将创建上面提到的方法。
因此,主要有四种注释:
ng-annotate之类的工具可让您在应用中使用隐式依赖项注释,并在最小化之前自动添加内联数组注释。如果您决定采用这种方法,则可能要使用ng-strict- di
。
有关更多信息,请参阅《AngularJS开发人员指南-
使用严格依赖注入》
。
问题内容: 我已经在AngularJS教程中看到,有人像这样声明其控制器功能: 其他人这样做是这样的: 哪种方法是在JS文件中声明控制器的最佳方法,因此与最新版本的AngularJS(现在为1.0.7)一起使用效果最佳,这是最佳做法?还是真的不重要吗? 问题答案: 您应该遵循他们提供的第二个示例,该示例使用字符串标识控制器,而不是潜在的全局函数。使用Array语法,以便您可以最小化代码而不必担心m
问题内容: 使用语法时如何订阅属性更改? 问题答案: 只需绑定相关上下文即可。 示例:http://jsbin.com/yinadoce/1/edit 更新: Bogdan Gersak的答案实际上是等效的,两个答案都尝试在正确的上下文中进行绑定。但是,我发现他的答案更干净。 话虽如此,首先,您必须了解其背后的基本思想。 更新2: 对于那些使用ES6的人,通过使用它们可以获得具有正确上下文OOTB
问题内容: 从golang规范 是否有使用内的 空白 字段的实际方案?(一些代码片段将不胜感激) 问题答案: 填充正是所谓的:一些填充,用于将以下字段与您的需求对齐,例如,匹配C结构的布局。无法访问它(至少在没有软件包不安全的情况下)。
我正在学习JavaScript及其库jQuery。我不知道为什么允许这种类型的声明(snake.x)而没有“let”或任何东西。这是我的代码
问题内容: 有没有办法列出为给定的角度模块定义的所有指令和控制器?例如,假设我在’main’模块中定义了三个控制器(即angular.module(’main’)。controller(’MainCtrl’,function(){…})。是否有办法获取列表的那三个控制器? 问题答案: 嗯,真的很难,我认为不是一件好事,但是: _invokeQueue是一个数组,如果您对每个获得[0] [2] [1
问题内容: 根据Go参考,有两种声明变量的方法 Variable_declarations(以或的格式) 和 Short_variable_declarations(以的格式) 我发现决定使用哪个非常令人困惑。 我知道的区别(到现在为止)是: 我只能在功能范围内使用格式。 可以 在 多变量short声明中 重新 声明 。 但是 据我所知, 它们的行为确实一样。并且在参考文献中还说: 它(方式)是带