嗨,我是Angularjs的新人。我正在閱讀有關Angular服務。我已閱讀以下 what-is-difference-between-factory-service-and-provider和service-vs-provider-vs-factory。對我來說,它們似乎是達到同一目標的不同方式(如果我錯了,請糾正我)。現在我想知道它們都服務於同一個目標,哪一個是想法使用並被認爲是最佳實踐?在Angularjs中使用哪一種:工廠,服務和提供商?
1
A
回答
2
沒有最好的做法,沒有人會告訴你,一個比其他(服務VS廠)更好。
如果您需要在運行時配置您的服務(如配置您的路由器),請使用提供者。
要何時使用工廠或何時使用服務,它們是相同的。
工廠有最簡單的語法來理解(使用揭示模塊模式),這是最常見的選擇。
在另一方面,服務現在更「有用」,因爲它們使用相同的語法角2級的服務,因此,如果您在遷移計劃有一天,現在使用的服務將幫助過渡。
3
聽起來像問題是什麼時候使用哪個。首先要注意的是,他們都是提供者。每一個都是另一個從provider
開始的更專業的版本。 factory
是provider
的專用版本。 value
和服務又是factory
的專用版本。
而且constant
和value
彼此的專門版本。因爲provider
位於頂端,因此可以做所有其他提供商可以使用的僅僅是提供商。但是你會寫很多不必要的代碼。
各專業提供商環比下跌,如果你能使用它可以讓你完成在更少的代碼同樣的事情。所以你可以說最好的做法是使用完成你想要的東西的鏈條。
這是一個高層次的圖像顯示你明白我的意思:
而且下面是鏈接到博客張貼的圖片是從,讓你更多的例子:
相關問題
- 1. AngularJS,工廠,提供商或服務
- 2. angularjs服務,供應商和工廠?
- 3. 角Js:工廠,服務和提供商。何時使用哪個?
- 4. AngularJS - 外部污染提供商,服務和工廠
- 5. 如何在angularjs的提供者中使用服務「工廠」?
- 6. 提供者,服務和工廠在angularJs中的抽象級別
- 7. 在Autofac中實現通用服務工廠或提供商
- 8. AngularJS服務,工廠和供應商的執行順序?
- 9. AngularJS工廠,服務和HTTP使用
- 10. Angularjs未知服務提供商
- 11. 擴展服務提供商(提供商)
- 12. 如何從一個供應商工廠調用兩項服務?
- 13. 我應該在哪裏使用angularjs中的$ http? - >工廠和服務區別
- 14. Laravel 5.0 - 在哪裏使用服務提供商的綁定?
- 15. 我應該在哪裏放置AngularJS工廠和服務?
- 16. 工廠,供應商和服務之間的區別?
- 17. Fedlet服務提供商和CA Siteminder身份提供商
- 18. AngularJS:工廠$ http服務
- 19. 在使用couchpotato註冊的工廠中使用angularjs服務($ cookies)
- 20. SAMLv2 SP發起:一個服務提供商和多個身份提供商
- 21. 另一個AngularJS服務的'未知提供商'
- 22. 錯誤:沒有ShopService的提供商!在另一個服務中使用服務
- 23. C++服務提供商
- 24. Laravel 5.2 +服務提供商
- 25. 電話服務提供商
- 26. J2ME Web服務提供商
- 27. 服務提供商框架
- 28. Laravel - $ _ENV服務提供商
- 29. 服務提供商和OSGI問題
- 30. Laravel Loading服務提供商和別名
也許[這篇博客文章](http://blog.xebia.com/2013/09/01/differences-between-providers-in-angularjs/)會有一些亮點,請檢查一下。 –
[Service vs provider vs factory?]的可能重複(http://stackoverflow.com/questions/15666048/service-vs-provider-vs-factory) – scniro