在多个组件的提供者中声明服务
Declaring services in providers of multiple components
我是 angular 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) {
}
}
myService
MyComponent1 和 MyComponent2 完全不同
MyComponent1
中的那个是MyComponent1
本身提供的那个
与 MyComponent2
中的不同,它是由 app.module
提供的
我是 angular 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) {
}
}
myService
MyComponent1 和 MyComponent2 完全不同
MyComponent1
中的那个是MyComponent1
本身提供的那个
与 MyComponent2
中的不同,它是由 app.module