如何在同一个组件中注入不同的服务令牌?

时间:2016-03-02 06:21:31

标签: angular

我的组件 A B C 和服务 S

A B 更改服务 S 中的值。

组件 C 在网站的不同位置使用两次,因此需要从服务 S 中读取不同的值。

在两个组件 C 中,我希望一个使用令牌tokenFromA,另一个使用tokenFromB

如何在同一组件中注入不同的服务令牌?感谢

// 服务S

export class Service {
    text:string = '';
}

// 组件C

@Component({
    selector: 'c-component',
    providers: [provide("tokenFromA", {useClass: Service})],
    template: `
        <h1>App</h1>
    `
})
export class ComponentC {
    constructor(@Inject('tokenFromA') service:Service) {
    }
}

1 个答案:

答案 0 :(得分:1)

据我所知,overrideProviders()的{​​{1}}仅支持此测试。

也可以直接请求实例

TestComponentBuilder