以下两个控制器之间的区别
Difference between the below two controllers
我是 angular JS 的新手。我遇到了两种不同类型的控制器声明,我无法理解它在幕后的影响。
vmyApp.controller('GreetingController', ['$scope', function($scope) {
$scope.greeting = 'Hola!';
}]);
从上面的代码片段中,我了解到他们采用了一个依赖于控制器的函数,它有两个参数,一个是“$scope”,另一个是函数。
其他片段如下:
vmyApp.controller('GreetingController', function($scope) {
$scope.greeting = 'Hola!';
});
这里直接作为控制器的第二个参数,没有任何依赖。
请解释一下其影响的不同。
运行 您的 AngularJS 应用程序没有什么不同。
但是,当您尝试使用任务运行器(Gulp、Grunt 或其他)编译它时,第二个会破坏您的应用程序,因为 $scope 将被替换。
字符串在 minif 和 uglify 过程中不会被替换,这就是为什么你需要将依赖项注入 string.
This guidestyle 解释为什么你应该做第二个。
它们的功能相同,只是如果您要精简代码,您应该使用顶级控制器。 AngularJS 使用参数名称将值注入控制器函数。在 JavaScript 缩小过程中,这些参数被重命名为更短的字符串。通过使用字符串数组告知哪些参数被注入到函数中,AngularJS 仍然可以在重命名参数时注入正确的值。
我是 angular JS 的新手。我遇到了两种不同类型的控制器声明,我无法理解它在幕后的影响。
vmyApp.controller('GreetingController', ['$scope', function($scope) {
$scope.greeting = 'Hola!';
}]);
从上面的代码片段中,我了解到他们采用了一个依赖于控制器的函数,它有两个参数,一个是“$scope”,另一个是函数。
其他片段如下:
vmyApp.controller('GreetingController', function($scope) {
$scope.greeting = 'Hola!';
});
这里直接作为控制器的第二个参数,没有任何依赖。
请解释一下其影响的不同。
运行 您的 AngularJS 应用程序没有什么不同。
但是,当您尝试使用任务运行器(Gulp、Grunt 或其他)编译它时,第二个会破坏您的应用程序,因为 $scope 将被替换。
字符串在 minif 和 uglify 过程中不会被替换,这就是为什么你需要将依赖项注入 string.
This guidestyle 解释为什么你应该做第二个。
它们的功能相同,只是如果您要精简代码,您应该使用顶级控制器。 AngularJS 使用参数名称将值注入控制器函数。在 JavaScript 缩小过程中,这些参数被重命名为更短的字符串。通过使用字符串数组告知哪些参数被注入到函数中,AngularJS 仍然可以在重命名参数时注入正确的值。