如何在Angular 2中创建单例服务?

我已经读过,引导时的注入应该让所有子节点共享同一个实例,但是我的主要和标头组件(主要应用程序包括标头组件和路由器出口)都分别获得了我的服务的单独实例。

我有一个FacebookService和一个使用FacebookService的UserService,可以用来调用Facebook javascript api。这是我的引导程序:

bootstrap(MainAppComponent, [ROUTER_PROVIDERS, UserService, FacebookService]);

从我的日志记录来看,引导调用似乎完成了,然后我看到在运行每个构造函数,MainAppComponent,HeaderComponent和DefaultComponent中的代码之前先创建了FacebookService,然后创建了UserService:

在此处输入图片说明