我的组件 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) {
}
}
答案 0 :(得分:1)
据我所知,overrideProviders()
的{{1}}仅支持此测试。
也可以直接请求实例
TestComponentBuilder