Javascript 什么';s是角模名称中的点平均值
我是这个领域的新手。当我读到一些代码时,比如 我发现如果我不把Javascript 什么';s是角模名称中的点平均值,javascript,angularjs,Javascript,Angularjs,我是这个领域的新手。当我读到一些代码时,比如 我发现如果我不把'myApp.dashboard','myApp.value'放在angular.module('myApp',['myApp.dashboard','myApp.value'])它不会工作 如果我只是这样写: (function() { angular.module('myApp', []); })(); (function() { angular.module('myApp.dashboard', ['myApp.val
'myApp.dashboard','myApp.value'
放在angular.module('myApp',['myApp.dashboard','myApp.value'])代码>它不会工作
如果我只是这样写:
(function() {
angular.module('myApp', []);
})();
(function() {
angular.module('myApp.dashboard', ['myApp.value']);
})();
(function() {
angular.module('myApp.value', []);
})();
它也不起作用
你能告诉我这里的点是什么意思以及为什么angular.module('myApp.dashboard',['myApp.value'])代码>不起作用
对不起,这段代码真的很乱,我没有做太多的工作,只是为了测试
(function() {
angular.module('myApp', ['myApp.dashboard','myApp.value']);
})();
(function() {
angular.module('myApp.dashboard', []);
})();
(function() {
angular.module('myApp.value', []);
})();
(function() {
'use strict';
angular.module('myApp.value').factory('whichToShow', function() {
alert("running2");
var logged = true;
return {
getVar: function() {
return logged;
},
setVar: function(value) {
logged = value;
}
};
});
})();
(function() {
'use strict';
angular.module('myApp.dashboard').controller('mainControl', mainControl);
mainControl.$inject = ['whichToShow'];
alert("running1");
function mainControl(whichToShow) {
this.logged = whichToShow.getVar();
alert("this.logged");
}
})();
补充:我不应该问第二个问题,我在其他地方犯了一个错误,对不起。这实际上是一种可以遵循的编码风格,以消除命名冲突
使用带有子模块分隔符的唯一命名约定
为什么?:唯一的名称有助于避免模块名称冲突。分隔符有助于
定义模块及其子模块层次结构。例如,应用程序可能是
根模块,而app.dashboard和app.values可能是
用作应用程序的依赖项
参考《约翰·帕帕角形风格指南》
我还建议您清楚地了解John Papa在上述Githubrepo中建议的angular中每个组件的样式指南。代码['myApp.dashboard','myApp.value']
讲述了依赖关系。
这意味着myApp
需要使用这些依赖项才能工作
至于圆点,这只是一个很好的命名约定。你也可以不用圆点。
名称myApp.dashboard
有助于显示dashboard
模块是myApp
模块的一部分或子模块。但从技术上讲,圆点是不必要的。您也可以仅将其命名为dashboard
。依赖关系在[]
数组中明确表示,而不是在名称本身中