Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
Javascript AngularJS上的angular.module是否应设置为变量_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS上的angular.module是否应设置为变量

Javascript AngularJS上的angular.module是否应设置为变量,javascript,angularjs,Javascript,Angularjs,我已经在Github上阅读了两个AngularJS示例。我对如何模块化控制器感到困惑。第一个是设置变量(foodMeApp)并重新使用它。控制器需要更少的参数。它更容易阅读。 但是,第二个不使用变量(foodMeApp),并且有更多的参数。我认为这种方法经常用于AngularJS样本。 使用第二种方法有什么好处吗 一, 二, 由于angular.module(“…”),常量、提供、控制器、工厂。。。返回相同的mdoule,您可以链接模块方法调用,如果您想或不想。。。它只是javascript 你

我已经在Github上阅读了两个AngularJS示例。我对如何模块化控制器感到困惑。第一个是设置变量(foodMeApp)并重新使用它。控制器需要更少的参数。它更容易阅读。 但是,第二个不使用变量(foodMeApp),并且有更多的参数。我认为这种方法经常用于AngularJS样本。
使用第二种方法有什么好处吗

一,

二,

由于angular.module(“…”),常量、提供、控制器、工厂。。。返回相同的mdoule,您可以链接模块方法调用,如果您想或不想。。。它只是javascript

你可以写

angular.module('foo',[])
.controller('bar',function(){})
.service('baz',functinon(){})
.constant('buzz',something)
.value('bizz',somethingelse);

这也没什么不同。

这个示例使用一个数组作为将要注入控制器的依赖项。数组方法通常在代码在某个时候要缩小时使用,并允许angularjs准确地知道将注入哪些项。如果没有这个数组,angular将只看到“a”、“b”作为注入函数的项,而无法找出这些项是什么。数组中的项是字符串,在缩小时不会更改

 angular.module('foodMeApp').controller('HogeController', ['$scope', 'CONFIG_B', 
   function($scope, CONFIG_B) {
        console.log("more arguments");
   }]);

希望这有助于解释您所看到的差异。

选择第二个选项没有这样的“优点”。第一种方法更受欢迎,因为它避免了重复多次。
如果您给它一个名称“foodMeApp”,您可以直接使用
foodMeApp
,就像您在第二种方法中使用的那样。更少的重复,更简单的生活。

使用第一种形式就是引入一个全局JavaScript变量。所以,虽然“更简单”,但不一定“正确”。。。
angular.module('foo',[])
.controller('bar',function(){})
.service('baz',functinon(){})
.constant('buzz',something)
.value('bizz',somethingelse);
 angular.module('foodMeApp').controller('HogeController', ['$scope', 'CONFIG_B', 
   function($scope, CONFIG_B) {
        console.log("more arguments");
   }]);