gpt4 book ai didi

angular - 为什么在 DI 中使用 `deps` 属性

转载 作者:行者123 更新时间:2023-12-03 13:51:57 25 4
gpt4 key购买 nike

这是来自 angular.io 的代码片段:

{ provide: RUNNERS_UP,    useFactory:  runnersUpFactory(2), deps: [Hero, HeroService] }

...

export function runnersUpFactory(take: number) {
return (winner: Hero, heroService: HeroService): string => {
/* ... */
};
};

我的问题是为什么 deps属性在这里使用?使用 deps的一般情况有哪些? ?

最佳答案

这是一种告诉 Angular 依赖注入(inject)需要将哪些依赖注入(inject)到 runnersUpFactory 返回的工厂函数的方法。 .

对于服务有@Injectable()类告诉 DI 它需要分析该类的构造函数参数(对于 @Component()@Directive()@Pipe() 相同),但这似乎不适用于函数。因此他们推出了deps范围。

DI 将使用 key Hero 查找提供程序另一个使用 HeroService然后将它们作为参数以相同的顺序传递给工厂函数。

https://angular.io/docs/ts/latest/api/core/index/FactoryProvider-interface.html

deps : any[] A list of tokens which need to be resolved by the injector. The list of values is than used as arguments to the useFactory function.

关于angular - 为什么在 DI 中使用 `deps` 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41821883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com