小编Pal*_*991的帖子

有没有办法如何从所有多个级别使用Angular多提供程序?

我想知道是否有可能从(理想情况下)所有祖先获得角度多供应商.

让我们说我有一个INJECTION_TOKEN X,我有一个像这样的组件结构:

<comp-a>
    <comp-b>
       <comp-c></comp-c>
    <comp-b>
<comp-a>
Run Code Online (Sandbox Code Playgroud)

comp-a 供应商: providers: {provide: X, useValue: "A", multi: true}

comp-b 供应商: providers: {provide: X, useValue: "B", multi: true}

有没有办法如何让["A", "B"]comp-c,当我使用依赖注入,如:

constructor(@Inject(X) obtainedArray:TypeOfX[]) {
    console.log(obtainedArray.length); //Expected to be 2
}
Run Code Online (Sandbox Code Playgroud)

我试图使用这个提供程序,comp-b但它正在抛出循环DI期望:

providers:[
    {provide: X, useExisting: X, multi: true}
    {provide: X, useValue: "B", multi: true}
]
Run Code Online (Sandbox Code Playgroud)

dependency-injection angular

6
推荐指数
1
解决办法
871
查看次数

标签 统计

angular ×1

dependency-injection ×1