AngularJS Module子依赖关系可用于兄弟模块吗?

时间:2015-05-21 03:37:13

标签: angularjs dependency-injection meanjs

首先,我的问题的一些上下文,也在MEAN.JS docs中解释:我的角度应用Foo是从init.js文件引导的,该文件包含以下行:

angular.element(document).ready(function () {
  angular.bootstrap(document, ['FooCore']);
});

我的FooCore应用程序有几个供应商依赖项,我在其setter中以正常方式列出,就在此行之前。

接下来,我的应用程序的组件(搜索,个人资料,仪表板等)都在他们自己的模块中。每次我声明FooCore的子组件时,我都会将其添加到其依赖项中:

angular.module('FooCore').requires.push('ModuleBar');

所以,从逻辑上讲,我所有应用程序的组件都能够相互通信(例如共享指令),这对我来说很有意义。我的问题是这样的:说ModuleBar有一个只有它需要的供应商依赖X - 所以我在ModuleBar的setter中声明了这个依赖 - 为什么X可用于我的所有兄弟组件FooCore应用?这是一个直观的表示:

FooCore
|----ModuleBar => angular.module('ModuleBar', ['vendor-X']);
|    |---- vendor-X
|
|----ModuleBaz => angular.module('ModuleBaz', []);

vendor-X只能提供ModuleBar吗?为什么我发现ModuleBaz也可以使用它?

0 个答案:

没有答案