2013-03-17 77 views
1

我對角度服務的理解是,它們用於訪問外部數據源和其他內容。Angular Service Factory Factory

所以,讓我們假設我有,一個服務訪問飼料,這與ATOM解析交易等

現在,讓我們假設一個控制器需要訪問一些飼料。

有沒有辦法讓我參數化服務,因爲它們被實例化?由於服務是單身人士,我需要服務工廠嗎?我是否應該每次都使用相同的服務並傳遞特定提要的詳細信息?如果我需要對同一個Feed進行多個呼叫並希望專用對象進行交談,該怎麼辦? (認爲​​websockets而不是feed)。

是否還有另一種方法可以解決這個問題?

+0

這可能有助於http://stackoverflow.com/questions/15313205/sharing-data-between-angularjs-services/15316971#15316971 – charlietfl 2013-03-17 18:49:19

+0

你的應用程序在哪裏獲得可能的提要集?這是一個已知的/固定的集合,還是動態的 - 即用戶可以在運行時提供Feed詳細信息? – 2013-03-18 16:51:54

+0

在我的情況下,它是固定的,但知道這兩種情況的答案會很有趣。 – 2013-03-18 17:33:34

回答

1

有沒有辦法讓我參數化服務,因爲他們被實例化?

不是。您可以將服務注入服務–,例如,其他服務–,但我認爲這不會對您有所幫助。

由於服務是單身人士,我是否需要服務工廠?

我不知道你會怎麼寫,但我認爲這不會對此有所幫助。

我是否應該使用相同的服務並每次傳遞特定提要的詳細信息?

嗯,我問的意見,如果你正在處理一組固定的飼料,我想他們硬編碼到服務(或者也許有服務從服務器上的配置文件獲取它們),並允許控制器通過名稱或某個ID請求它們。

如果您需要更動態的東西,那麼我認爲您必須將提要詳細信息傳遞給服務。

在這兩種情況下,我認爲一個「atomFeed」服務就足夠了。

如果我需要對同一個feed進行多個調用並且想要一個專用對象進行通話,該怎麼辦?

我可能仍然會使用一項服務。雖然我不確定這個問題在哪裏。

+0

我認爲你是對的。使用一項服務完成所有提要的交談可能是前進的方向。謝謝。 – 2013-03-19 11:29:02