Service 角度2服务启动

Service 角度2服务启动,service,angular,Service,Angular,启动时是否可以在angular 2中执行服务? 引导不会执行服务的contstructor。 而且,每次在某个组件中注入服务时,注入器都在执行服务的contstructor。有没有办法使服务单一化并确保ctor只运行一次?只将服务添加到引导,而不添加到组件中的proiders。 如果将其注入AppComponent中,它将被实例化,并且只实例化一次 将服务添加到组件上的提供程序会为每个组件实例创建一个新实例 引导不会启动服务,注入服务的消费类将启动服务。通过在引导中列出它,您将获得singlet

启动时是否可以在angular 2中执行服务? 引导不会执行服务的contstructor。
而且,每次在某个组件中注入服务时,注入器都在执行服务的contstructor。有没有办法使服务单一化并确保ctor只运行一次?

只将服务添加到引导,而不添加到组件中的proiders。 如果将其注入AppComponent中,它将被实例化,并且只实例化一次


将服务添加到组件上的提供程序会为每个组件实例创建一个新实例

引导不会启动服务,注入服务的消费类将启动服务。通过在引导中列出它,您将获得singleton

如果您遵循将可注入服务(LogRepository)列出到引导中的惯例,那么所有服务都将是单例的。(与LogRepository中一样)
bootstrap(应用程序,[HTTP_提供者,日志存储库])


如果将可注入服务作为组件上的提供程序列出,则可以获得更多的可注入服务实例,但一开始,只需在bootstrap()中列出即可。那就全单身吧。

谢谢!但是有没有一种方法可以在不将服务注入任何组件的情况下实例化服务呢?仅通过使用引导?我认为这应该在使用或不使用注入的情况下工作:
bootstrap(AppComponent,[provide(MyService,useValue:new MyService())))
我应该将
引导(App,[…])
放在哪里?