angular - angular2 中的多供应商是什么

标签 angular angular2-directives angular2-services angular2-forms

我知道提供者是为了从另一个类获取服务,但什么是多提供者和 token ?

还有当我们执行 multi=true 时?

provide(NG_VALIDATORS, { useExisting: class),    multi: true })

最佳答案

multi: true 表示一个提供者 token 提供一组元素。例如,路由器支持 routerLinkrouter-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/

相关文章:

angular - 基于条件的一个组件多个模板

javascript - 在 Typescript 中的类方法中创建方法 - Angular 2

angular - Ionic - 类别的水平滚动选项卡

angular - Swiper 在 Angular 5 中不工作

Angular2 如何获取动态生成的 HTML 元素的引用

node.js - 类型错误 : Cannot create property '_id' on string '{"[object Object ]":""}'

angular - 如何读取组件中的http状态代码错误

angular - 我可以用 angular2 的 webpack 替换 systemJS

angular - 参数化 ngrx 选择器的方法有什么区别

angular - 从属性指令访问其他属性指令