当前位置:  开发笔记 > 前端 > 正文

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

如何解决《为什么在DI中使用`deps`属性》经验,为你挑选了1个好方法。

以下是angular.io的代码片段:

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

...

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

我的问题是为什么deps在这里使用房产?使用的一般情况是deps什么?



1> Günter Zöchb..:

这是一种告诉Angular依赖注入的方法,它需要为返回的工厂函数注入哪些依赖项runnersUpFactory.

在服务方面存在的@Injectable()类地告诉DI,这需要分析这个类的构造函数参数(同为@Component(),@Directive()@Pipe()),但这似乎不是为职能的工作.因此他们引入了deps参数.

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

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

deps : any[] 需要由进样器解析的标记列表.值列表用作useFactory函数的参数.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有