我正在學習AngularJS的提供者,但我是AngularJS的初學者,在JavaScript方面經驗不足。
我一直在尋找在AngularStrap代碼,發現模式提供商(SRC \模式\ modal.js)返回一個函數,而不是一個對象:AngularJS Providers
this.$get = function($window, $rootScope, $bsCompiler, $animate, $timeout, $sce, dimensions) {
...
return ModalFactory;
};
爲什麼函數返回,而不是具體的對象。
以我的理解,在這種情況下,服務不能像單身人士那樣行事,如果我錯了,請糾正我。
但在這種情況下,如果我在我的控制器注入$模態,例如,它不會是一個對象,否則將返回一個對象,如果我調用$模態(參數),但不是服務suposed是單身物體? –
@MarcoPrado'$ modal'函數本身是一個單例,而不是它返回的值。注入到一個地方的'$ modal'依賴將會被'==='等同於其他應用部分注入的'$ modal'依賴。做'$ modal.fnProperty = ...'一次會導致'$ modal'函數在其他地方擁有這個屬性。 – estus
@estus現在很明顯,我認爲服務應該用作單個對象本身,而不是實例化新的對象。謝謝 –