-4
A
回答
1
供應商是一種可配置的服務。如果您創建一個Foo
服務與provider()
,您可以在config()
塊使用FooProvider
:
angular.module('MyApp', [])
.provider('Foo', function() {
...
})
.config(function (FooProvider) {
FooProvider.something('bar');
})
.run(function (Foo) {
...
});
對於你可能想用這個,看$logProvider
什麼一個簡單的例子。
如果您不需要爲您服務配置...Provider
,該factory()
或service()
方法使其更容易地創建你的服務,因爲你不需要做複雜的供應商設置。如果你不需要提供者,那麼factory
/service
只是簡寫的便利構造函數。
factory
和service
之間的區別在於factory
接受一個典型的回調函數,而service
期望一個「類」,其將與new
實例。例如: -
// Javascript "class"
function Foo() {
...
}
Foo.prototype.bar = ...;
angular.module('MyApp', [])
.service('Foo', Foo)
.factory('Bar', function() {
...
})
.run(function (Foo, Bar) {
...
});
相關問題
- 1. 在Angularjs中使用哪一種:工廠,服務和提供商?
- 2. AngularJS,工廠,提供商或服務
- 3. angularjs服務,供應商和工廠?
- 4. AngularJS - 外部污染提供商,服務和工廠
- 5. 角JS - 路由提供商不工作
- 6. 在Autofac中實現通用服務工廠或提供商
- 7. 如何從一個供應商工廠調用兩項服務?
- 8. 角度工廠服務問題,未知供應商
- 9. 角度Js事件/製造商在工廠服務
- 10. 角js服務/工廠屬性行爲
- 11. 擴展服務提供商(提供商)
- 12. 角度分離問題,何時使用服務和/或工廠?
- 13. 如何在angularjs的提供者中使用服務「工廠」?
- 14. 服務單元測試中不提供角度工廠
- 15. 未知供應商factoryprovider < - 工廠< - 控制器角js
- 16. 工廠,供應商和服務之間的區別?
- 17. AngularJS服務,工廠和供應商的執行順序?
- 18. 使用角度工廠服務
- 19. Fedlet服務提供商和CA Siteminder身份提供商
- 20. 角提供商
- 21. SAMLv2 SP發起:一個服務提供商和多個身份提供商
- 22. Laravel 5.0 - 在哪裏使用服務提供商的綁定?
- 23. C++服務提供商
- 24. Laravel 5.2 +服務提供商
- 25. 電話服務提供商
- 26. J2ME Web服務提供商
- 27. 服務提供商框架
- 28. Laravel - $ _ENV服務提供商
- 29. 服務提供者未在角JS工作
- 30. 沒有提供商XHRBackend與角2和HTTP服務
可能重複的[AngularJS:服務vs提供者vs工廠](http://stackoverflow.com/questions/15666048/angularjs-service-vs-provider-vs-factory) – Ankh
另請參見官方文檔中的這一個: https://docs.angularjs.org/guide/providers – Anticom