【问题标题】:What's the dot mean in the name of angular module角度模块名称中的点是什么意思
【发布时间】:2017-03-16 10:39:12
【问题描述】:

我是这个领域的新手。当我阅读一些代码时 https://plnkr.co/edit/YeahrG28bT2izX8gMKor?p=preview 我发现如果我不将'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");
  }
})();

补充:我不应该问第二个问题,我在其他地方犯了一个错误,对不起。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    ['myApp.dashboard','myApp.value'] 讲述了依赖关系。 这意味着myApp 需要使用这些依赖项才能工作。

    至于点,它只是一个很好的命名约定。您也可以不带点使用。 myApp.dashboard 的名称有助于表明 dashboard 模块是 myApp 模块的一部分或子模块。但从技术上讲,点不是必需的。您也可以仅将其命名为dashboard。依赖关系在 [ ] 数组中明确表达,而不是在名称本身中。

    【讨论】:

      【解决方案2】:

      实际上是一种可以遵循的编码风格,从而消除命名冲突。

      使用独特的命名约定和子模块的分隔符。

      为什么?:唯一名称有助于避免模块名称冲突。分隔符帮助 定义模块及其子模块层次结构。例如应用程序可能是 您的根模块,而 app.dashboard 和 app.values 可能是 被用作app的依赖。

      参考 John Papa Angular 风格指南 Style Y021

      我还建议您按照上面 John Papa 的 Github 存储库中的建议,对 angular 中的每个组件的样式指南有一个清晰的了解。

      【讨论】:

        猜你喜欢
        • 2016-12-27
        • 1970-01-01
        • 2018-07-03
        • 2010-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多