2015-07-12 66 views
0

我創建了一個指令,需要從服務器加載數據。數據取決於ID,並且對於指令的每個實例它都會有所不同。Stateful Angular的服務

我認爲最好是寫一個服務下載數據的邏輯,那會比注入指令。但使用簡單的Angular的服務,這是單身,我將有一個指令的所有實例相同的數據。

在互聯網上我發現,在服務我可以寫一個方法,這將返回一個新的對象的實例,並使用它。

我的問題是:

  1. 是正常寫在服務這樣的邏輯是什麼?
  2. 我應該怎樣處理我的服務?
+0

我認爲工廠可能是你的情況下的工程。 –

回答

1

我想你在這方面被「單身人士」的定義弄糊塗了。這是其他語言稱爲「共享」或「靜態」的功能;而不是「成員」功能。所以你會調用相同的函數 - 但你不會得到相同的數據。您可以使用$http$resource或其他任意的服務定義;但是如果你從控制器調用這個服務(或者來自指令 - 我從來沒有必要這樣做),你通過id作爲參數,並得到你想要的結果。

底線,服務返回一個函數(並且這個函數是一個單例,也就是應用程序範圍內的相同函數);但然後你調用這個函數的參數,並得到你想要的結果