在ng书中,指定angular.module("app",[])
方法称为Angular模块的setter
方法,angular.module("app")
方法称为getter
方法,由此我们可以获得稍后参考。我所理解的是,前面的用于一些依赖注入,而后面的模块我不知道。在第二个模块的定义中,我们可以得到Angular模块供以后参考,这是什么意思?
使用angular.module("app",[])
,您实际上是在定义一个模块。
(function(){
// define sub modules
var subModule1 = angular.module('SubModule1',[]);
var subModule2 = angular.module('SubModule2',[]);
// define main module and import/register sub modules with main module sub modules
var main = angular.module('MainModule',['subModule1', 'subModule2']);
}());
使用angular.module("MainModule")
,您将获得对MainModule的引用,然后您可以创建新的控制器&该模块中的服务。
(function() {
var app = angular.module('App');
app.controller('SkillController', function($scope, SkillService) {
$scope.skills = ['Java', 'JavaScript'];
$scope.skillName;
$scope.addSkill = function() {
SkillService.addSkill($scope.skills, $scope.skillName);
$scope.skillName = '';
};
$scope.removeSkill = function(skillIndex) {
console.log(' skillIndex : ' + skillIndex);
SkillService.removeSkill($scope.skills, skillIndex);
};
});
}());
http://plnkr.co/edit/BGcuxM?p=info
角模('',[](;
将创建一个指定名称的新模块,其中数组是您希望在新模块中可用的一组依赖模块。这也将返回新创建的模块。
角度模块(''(;
将通过您创建时定义的名称检索模块的实例。
注意:您应该只创建一次模块,因为您不想覆盖已经创建的内容。
使用angular.module('myModule', [])
将创建模块myModule
并覆盖任何名为myModule
的现有模块。此数组是应用程序所依赖的模块列表。
使用angular.module('myModule')
检索现有模块。