AngularJS - 在不调用它的情况下初始化服务

时间:2016-05-30 08:50:52

标签: angularjs service dependency-injection

在我的AngularJS应用程序中,我想初始化工厂服务,而不是从控制器或其他服务调用它。怎么办呢?

原因是我希望服务在加载应用程序时调用其中一个函数。

1 个答案:

答案 0 :(得分:2)

您可以在angular.module(...).run(...)功能中注入您的服务。 然后,您可以在Service的main函数/构造函数中添加所需的代码。

但只是在不使用服务的情况下注入服务是一种不好的做法,因为你或某人有一天可能会将其删除而不知道为什么注入它。

所以对我来说最好的方法是在.run函数中注入服务并调用您将从服务中公开的yourService.init()方法。 那会更明确。

app.run(['yourService', function(yourService) {
  yourService.init();
}]);