我正在从以下网站AngularJS
学习AngularJS他们提到了AngularJS的名称,如my.new.module
var module = angular.module( "my.new.module", [] );
我只想知道`my.new.module'的含义。为什么他们使用。点运营商。
我正在分享openstack(云计算的开源)源代码 https://github.com/openstack/horizon/blob/stable/kilo/horizon/static/angular/widget.module.js
(function () {
'use strict';
angular.module('hz.widgets', [
'hz.widget.form',
'hz.widget.help-panel',
'hz.widget.wizard',
'hz.widget.table',
'hz.widget.modal',
'hz.widget.modal-wait-spinner',
'hz.framework.bind-scope',
'hz.framework.workflow',
'hz.widget.transfer-table',
'hz.widget.charts',
'hz.widget.action-list',
'hz.widget.metadata-tree',
'hz.widget.metadata-display',
'hz.framework.validators'
])
.constant('basePath', '/static/angular/');
})();
他们在使用相同的东西,请描述我..
答案 0 :(得分:0)
使用dot是不明确的..它是您向Module提供的实例名称 您也可以使用普通名称
angular.module('myApp',[]);
答案 1 :(得分:0)
它不是一个“操作员”,正如你的标题所暗示的那样,只是一个惯例。
点没有特殊意义,可能主要借用其他模块层次结构有意义的平台。
它通常用于为模块提供某种命名空间,以防止与其他模块发生名称冲突。因为,angularjs只有一个全局模块命名空间(即,当加载模块时,它将覆盖任何其他模块的同名)。因此,为防止冲突,通常将所有“mycompany”模块命名为“mycompany.somemodule”和“mycompany.othermodule”。
在openstack示例中,您已添加到您的问题中。正如我所解释的那样,他们使用点来分隔命名空间。
在这种情况下,他们似乎选择了名称空间hz
(可能是“horizon”的缩写)作为他们的“顶级”/项目命名空间。然后他们进一步将他们的名称空间分成widget
或framework
件。
因此,hz.widget.form
的最终层次结构意味着类似于form
widget
项目的horizon
#import
组件。
但是,最后,它只是帮助确定模块所属/来自何处的惯例,并防止与其他模块发生名称冲突。