2016-11-21 120 views

回答

6
  • useFactory需要,預計將返回值,也可以有依賴(需要作爲參數傳遞的其他供應商的實例的工廠函數)

參見例如由工廠功能所需的參數config:ConfigServiceHow to pass parameters rendered from backend to angular2 bootstrap method

  • useValue僅僅是被注入作爲是

  • useClass期望類型名和角度從與傳遞類型創建一個實例,並且還解決了,並傳遞構造參數對類是否存在任何

  • 也有useExisting這就像已經註冊的提供者的別名。用例是爲提供者的同一個實例提供不同的密鑰。

查看Angular 2 useExisting providers舉例。

7

useValue:將爲您提供的任何已分配的對象實例分配當前值。

useFactory它也做了同樣的,您可以配置基於其他依賴內部function並返回它的一個實例之前工廠對象。

{ 
    provide: CustomDependency, 
    useFactory:() => { 
    if (IS_A) { 
     return new A(); 
    } else { 
     return new B(); 
    } 
    } 
} 

您可以使用useFactory配置在配置時你的依賴 。它與config階段角1, 相同,您可以根據需要修改或形成依賴關係。