在多个组件的提供程序中声明服务

问题描述 投票:0回答:1

我是角度2的新手,我正在研究它一个星期左右。根据我们团队遵循的最佳编码实践,我们在根组件的提供者中声明我们的服务。

我想知道,如果我们在多个组件的提供商中声明我们的服务怎么办?

angular angular2-services
1个回答
1
投票

向组件提供程序添加服务将覆盖父提供程序,并将创建该服务的新实例

这是一个例子,我将假设我有一个名为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提供的那个

© www.soinside.com 2019 - 2024. All rights reserved.