我是角度2的新手,我正在研究它一个星期左右。根据我们团队遵循的最佳编码实践,我们在根组件的提供者中声明我们的服务。
我想知道,如果我们在多个组件的提供商中声明我们的服务怎么办?
向组件提供程序添加服务将覆盖父提供程序,并将创建该服务的新实例
这是一个例子,我将假设我有一个名为MyService
的服务
app.module.ts
@NgModule({
....,
imports: [MyService, ...]
})
MyComponent1.ts
@Component({
...,
providers: [MyService]
})
export default class MyComponent1 {
constructor(private Myservice myService) {
}
}
MyComponent2.ts
export default class MyComponent2 {
constructor(private Myservice myService) {
}
}
myComponent1和MyComponent2中的myService
完全不同
在MyComponent1
中的那个是MyComponent1
本身提供的那个不同于MyComponent2
中的那个,它是由app.module
提供的那个