Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 问:为什么在角度控制器中使用依赖注入?_Angularjs_Scope_Controller - Fatal编程技术网

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
)。