Angularjs 问:为什么在角度控制器中使用依赖注入?
基本上,我想知道在这种方法中声明我的控制器有什么区别:Angularjs 问:为什么在角度控制器中使用依赖注入?,angularjs,scope,controller,Angularjs,Scope,Controller,基本上,我想知道在这种方法中声明我的控制器有什么区别: myApp.controller('GreetingController', ['$scope', function($scope) { $scope.greeting = 'Hola!'; }]); 这是: myApp.controller('GreetingController', function($scope) { $scope.greeting = 'Hola!'; }]); 我知道angular
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.greeting = 'Hola!';
}]);
这是:
myApp.controller('GreetingController', function($scope) {
$scope.greeting = 'Hola!';
}]);
我知道angular controller/directive/filter等声明中的括号用于依赖注入,但控制器中使用的$scope无论如何只用于控制器。至少我是这么理解的
请帮助我理解,我一直在研究这件事,没有很多关于这件事的解释可以在网上找到
提前感谢。在第二个版本中,依赖项注入将仅依赖于
$scope
变量名。由于它将在缩小过程中被重命名,这将不再有效
有关此问题的更多详细信息:在第二个版本中,依赖项注入将仅依赖于
$scope
变量名。由于它将在缩小过程中被重命名,这将不再有效
关于这个问题的更多详细信息:在我们用来构建它的服务器上部署代码之前,在这个过程中,代码变得很小,很难看,而在处理构建的过程中,代码被压缩成这样一种方式,它在短时间内替换了长变量名称。 例如 代码缩小后,可能会更改为
myApp.controller('GreetingController', ['$s', 'm', function($scope,m) {
$scope.greeting = 'Hola!';
}]);
它表示$s作为依赖项是函数中的第一个参数。
amd m表示函数的第二个参数
始终记住在传递参数时按相同的顺序注入
希望这个答案能给你一些想法。在我们用来构建它的服务器上部署代码之前,在这个过程中,代码变得很小,很难看,而在处理构建的过程中,代码被压缩成这样一种方式,它可以简单地替换长变量名称。 例如 代码缩小后,可能会更改为
myApp.controller('GreetingController', ['$s', 'm', function($scope,m) {
$scope.greeting = 'Hola!';
}]);
它表示$s作为依赖项是函数中的第一个参数。
amd m表示函数的第二个参数
始终记住在传递参数时按相同的顺序注入
希望这个答案能给你一些想法。你的答案几乎是正确的,但你的回答是错误的-参数名会缩小,但数组中的字符串不会!它看起来更像是
['$scope','myService',function($s,m){…}]
@JoeClay:是的,我错过了那个打字错误。你的答案几乎是正确的,但你的方法是错误的-参数名被缩小了,但数组中的字符串没有!它看起来更像是['$scope','myService',function($s,m){…}]
@JoeClay:是的,我错过了这个输入错误。我想你错过的是两个例子都使用了依赖注入!第二个示例只是明确定义了被注入的服务的名称($scope
),我认为您缺少的是两个示例都使用依赖注入!第二个示例只是明确定义了被注入的服务的名称($scope
)。