慕桂英546537
2019-05-24 15:23:42
AngularJS:服務與提供商vs工廠什么是之間的差異Service,Provider并Factory在AngularJS?
4 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
所有服務都是單身人士 ; 他們每個應用程序實例化一次。它們可以是任何類型,無論是原始類型,對象文字,函數,還是自定義類型的實例。
的value
,factory
,service
,constant
,和provider
方法都是供應商。他們教Injector如何實例化服務。
最詳細,但也是最全面的是提供者食譜。在剩下的四個配方類型-價值,工廠,服務,不斷- 是在運營商的配方上面只是語法糖。
該值配方是最簡單的情況下,如果你自己實例化服務,并提供實例值的注射器。
該工廠配方使噴油器工廠功能時,它需要實例化服務,它調用。調用時,工廠函數創建并返回服務實例。服務的依賴關系作為函數的參數注入。因此,使用此配方可添加以下功能:
能夠使用其他服務(具有依賴性)
服務初始化
延遲/延遲初始化
該服務的食譜幾乎是一樣的工廠配方,但這里的噴油器調用構造函數與新的運營商,而不是一個工廠函數。
該供應商的食譜通常是矯枉過正。它允許您配置工廠的創建,從而增加了一層間接。
僅當您要為應用程序范圍的配置公開API時才應使用Provider配方,該API必須在應用程序啟動之前進行。這通常僅適用于可重用服務,其行為可能需要在應用程序之間略有不同。
在恒配方是一樣的價值食譜但它允許您定義是在現有的服務配置階段。比使用Value配方創建的服務早。與值不同,它們不能使用
decorator
。
請參閱提供商文檔。
添加回答
舉報
0/150
提交
取消