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
。依赖关系在
[]
数组中明确表示,而不是在名称本身中