假设有一个父组件 P 。有两个子组件 B 和 C 。我在 P 的 ElementInjector 中提供了一个服务(假设是 MyService),并在 P 组件类的构造函数中注入了该服务。我在两个子组件 B 和 C 中再次注入服务。
我的问题是在这种情况下 B、C 和 P 可用的服务实例是否相同?
如果我只在两个子组件 B 和 C 而不是在父组件 P 中注入服务怎么办。在这种情况下,B 和 C 会有单独的 MyService 服务实例吗?
编辑:
服务等级:
@Injectable()
export class MyService(){
constructor(){
console.log('My Service instantiated');
}
}
P组件的类:
import {MyService} from '...';
@Component({
selector:'Pcomp',
...
providers:[MyService]
})
export class PComponent {
constructor(public myservice:MyService){
}
}
组件 B 类:
import {MyService} from '...';
@Component({
selector:'Bcomp',
...
})
export class BComponent {
constructor(public myservice:MyService){
}
}
组件 C 类:
import {MyService} from '...';
@Component({
selector:'Ccomp',
...
})
export class CComponent {
constructor(public myservice:MyService){
}
}