我知道提供者是为了从另一个类获取服务,但什么是多提供者和 token ?
还有当我们执行 multi=true
时?
provide(NG_VALIDATORS, { useExisting: class), multi: true })
最佳答案
multi: true
表示一个提供者 token 提供一组元素。例如,路由器支持 routerLink
、router-outlet
的所有指令均由 ROUTER_DIRECTIVES
提供。
如果新的提供者使用 token ROUTER_DIRECTIVES
注册,那么它会覆盖以前注册的指令。如果设置了 multi: true
(在第一个注册的 和 新提供者上),则新指令将添加到先前注册的指令中,而不是覆盖。
当 ROUTER_DIRECTIVES
被注入(inject)时(constructor(@Inject(ROUTER_DIRECTIVES) directives) {}
)一个指令实例数组被注入(inject)。注入(inject) ROUTER_DIRECTIVES
通常没有意义。我将它用作示例,因为它是 multi: true
。
关于angular - angular2 中的多供应商是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38144641/