1
在我的AngularJS
應用程序中,我想初始化一個工廠服務,而不用從控制器或其他服務調用它。如何才能做到這一點?AngularJS - 在不調用它的情況下初始化服務
原因是我希望服務在應用程序加載時調用其功能之一。
在我的AngularJS
應用程序中,我想初始化一個工廠服務,而不用從控制器或其他服務調用它。如何才能做到這一點?AngularJS - 在不調用它的情況下初始化服務
原因是我希望服務在應用程序加載時調用其功能之一。
您可以在angular.module(...).run(...)
函數中注入您的服務。 然後,您可以在服務的主要功能/構造函數中添加所需的代碼。
但是隻是在不使用它的情況下注入服務是一種不好的做法,因爲您或某人可能會在不知道爲什麼被注入的情況下將其刪除。
因此,對我來說最好的方法是將服務注入.run
函數中,並調用您將從服務中公開的yourService.init()
方法。 這會更明確。
app.run(['yourService', function(yourService) {
yourService.init();
}]);
您可以隨時使用app bootstrap函數'run'加載服務及其方法。 – AranS
我已經更新了我的問題,認爲我可能用錯誤的方式解釋了它;-) –
正如@AranS所說,您可以在角度模塊的運行階段調用服務方法。我們正在爲我們的網站分析做同樣的事情 – user3045179