2016-04-19 62 views
0

这是一个关于AngularJS模块和服务的问题,以及如何定义它们。AngularJS:一个服务几个模块

  1. 甲服务(通常)所定义的应用程序可以由多个模块
  2. 服务允许常用的码被提取出来并用于由多个模块组成: angular.module( 'module1')。factory('serviceA',function(){...});

如果以上都是真的,那么为什么serviceA的定义包含对module1的引用?它不应该对任何想要使用它的模块一无所知吗?

如果我正在构建module2,并且我引用了serviceA.js以访问上述服务,它会告诉我module1没有被定义。

我想我的问题是我如何创建一组独立的模块,并让他们都访问全球服务?在我看到的所有例子中,服务都与特定模块紧密耦合。

回答

0

factory()方法是一个模块上的方法,所以你需要一个模块实例来调用它。实质上,该声明表示您希望在该特定模块上定义该工厂。

如果您需要在模块2用过的东西模块1,然后模块2应宣布对模块1的依赖关系:

angular.module('module2', ['module1']); 

一件事,写单元测试将教你真的很快的是,更多的地方的东西时, 更多重要的是把它放在一个模块中。如果您试图将其视为“全局”,因为它在很多地方都有使用,这意味着您必须引导整个应用程序才能使用那些基本上在任何地方都使用的服务。

相关问题