在AngularJS模块的定义中, <select multiple id='testbox'>
<option value='1'>First Option</option>
<option value='2'>Second Option</option>
<option value='3'>Third Option</option>
<option value='4'>Fourth Option</option>
<option value='5'>Fifth Option</option>
<option value='6'>Sixth Option</option>
<option value='7'>Seventh Option</option>
<option value='8'>Eighth Option</option>
<option value='9'>Ninth Option</option>
<option value='10'>Tenth Option</option>
<option value='11'>First Option</option>
<option value='12'>Second Option</option>
<option value='13'>Third Option</option>
<option value='14'>Fourth Option</option>
<option value='15'>Fifth Option</option>
<option value='16'>Sixth Option</option>
<option value='17'>Seventh Option</option>
<option value='18'>Eighth Option</option>
<option value='19'>Ninth Option</option>
<option value='20'>Tenth Option</option>
<option value='21'>First Option</option>
<option value='22'>Second Option</option>
<option value='23'>Third Option</option>
<option value='24'>Fourth Option</option>
<option value='25'>Fifth Option</option>
<option value='26'>Sixth Option</option>
<option value='27'>Seventh Option</option>
<option value='28'>Eighth Option</option>
<option value='29'>Ninth Option</option>
<option value='30'>Tenth Option</option>
</select>
是此模块上其他依赖模块的参数。
[]
我的问题是,
这个参数<script>
var app = angular.module('myApp',[]);
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
</script>
是否必要,,因为以下链接或示例他们没有提到[]
参数,但在上面的例子中(w3schooles),如果我们删除'[] '参数然后代码不会给出正确的输出see it?
请参阅此链接openstack,他们未使用[]
参数
[]
答案 0 :(得分:3)
当您声明您自己的模块时,需要使用数组或[]
参数来指定相关模块,因此每个模块只需执行一次。
第二种表示法,没有参数只是检索模块,因此您可以将控制器/服务/过滤器/ ...附加到它。
对模块的声明使用数组表示法,如果要添加某些内容,请使用单参数表示法。
例如:
app.module.js中的
//You want to make use of the ngRoute module,
//so you have to specify a dependency on it
angular.module('app', ['ngRoute']);
当您声明它时,您只会在模块上指定一次依赖项。
在main.controller.js
中//You want to add a controller to your module, so you want to retrieve your module
angular.module('app').controller('mainCtrl', mainCtrl);
function mainCtrl() { };
现在angular会尝试按该名称找到一个模块,而不是创建一个模块,当它找不到时,你会得到一些错误,这就解释了你原来的问题。 每次要向模块添加内容时,通常都会执行此操作。
请注意,您也可以通过在创建模块时将模块存储在全局变量中,然后在想要向其添加内容时通过该变量访问模块来实现此目的,但是您可能知道,创建全局变量是糟糕的做法。
答案 1 :(得分:1)
面对角度错误是一种幸福,因为它提供了控制台中错误描述的链接。
来自这样的例子page ......
定义没有模块依赖关系的模块时,应该定义依赖关系数组并为空。
var myApp = angular.module('myApp', []);
要检索对同一模块的引用以进行进一步配置,请调用不带数组参数的angular.module。
var myApp = angular.module('myApp');