我知道如何将服务注入组件(通过@Component),但是如何使用DI来传递组件之外的服务?
换句话说,我不想这样做:
export class MyFirstSvc {
}
export class MySecondSvc {
constructor() {
this.helpfulService = new MyFirstSvc();
}
}
export class MyThirdSvc {
constructor() {
this.helpfulService = new MyFirstSvc();
}
}
Run Code Online (Sandbox Code Playgroud) 我有两个并行指令(与父子一样),如果可能的话,我希望它们通过使用observable的服务进行通信.我已经阅读了官方组件交互guidline,但它讨论了父子互动.我尝试用两个指令制作一个plunker但它不起作用.
基本上,我想要的是创建一个服务:
export class DirService {
contentSource = new Subject();
content$ = this.contentSource.asObservable();
}
Run Code Online (Sandbox Code Playgroud)
然后,使用此服务在<dir1>和<dir2>之间建立桥梁.有人能指出如何实施这个senerio?
顺便说一句,我选择使用observable主要是因为:
谢谢!
我在共享模块中使用从@ angular/http导入的http服务,我使用类继承扩展http服务.所以我的共享模块有一个名为"AuthHttp"的服务,它扩展了http服务.在我的主应用程序模块中,我定义了人员提供程序,提供:http useClass:AuthHttp.在我的应用程序中,在不同的组件中我注入了http服务,是否有可能或设计服务不是单例?