2016-04-19 61 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']); 

一件事,寫單元測試將教你真的很快的是,更多的地方的東西時, 更多重要的是把它放在一個模塊中。如果您試圖將其視爲「全局」,因爲它在很多地方都有使用,這意味着您必須引導整個應用程序才能使用那些基本上在任何地方都使用的服務。

相關問題