angular-di

    3熱度

    1回答

    大家都知道我們對提供商有不同的策略:useClass,useExisting,useFactory,useValue。但是如果我想添加自己的策略呢?喜歡的東西: providers: [ { MyService: MyService, useAsyncFactory: MyAsyncFactory} ] 什麼是最好的方式擴展ReflectiveInjector,使角使用您的擴展的變種?我發現它

    3熱度

    1回答

    我使用window.location來設置注射。 在我的模塊附近進口我定義變量 const flag = window.location.search.includes('flag'); ... { provide: FLAG, useValue: flag }, ,它按預期工作與JIT編譯 但是當我切換到AOT它打破了在這兩種情況下 export function flagFactory

    2熱度

    1回答

    角依賴注入讓你注入一個字符串,函數,或者使用令牌,而不是服務類對象。 我宣佈它在我的模塊中是這樣的: providers: [{ provide: MyValueToken, useValue: 'my title value'}] ,我使用它是這樣的: constructor(@Inject(MyValueToken) my_value: string) { this.title

    0熱度

    1回答

    此代碼在開發模式下未及時編譯失敗。 export function loggerFactory(console, http, device, injector) { return environment.production ? new LogstashLoggerService(device, injector, http) : new ConsoleLogge

    5熱度

    1回答

    我把重點元器件上的開發工具,可以做到以下幾點: ng.probe($0) 以獲得特殊對象「DebugElement」。現在,我們可以得到它的噴油器: ng.probe($0).injector 現在我想得是這個組件上定義的扶養。依賴的定義就像一個班級,所以我應該這樣做: ng.probe($0).injector.get(MyService) 但是!服務未在控制檯範圍中定義。 如果我讓

    1熱度

    1回答

    我使用DI注入幾個組件的服務。現在它不起作用。 如何僅爲多個組件保留一個服務實例? 我TRIE如果添加提供商app.module加載服務節providers

    5熱度

    1回答

    我想在我的應用程序中基於來自url的QueryParam提供一個常量。 localhost:4200?flag=true 在我的模塊供應商我加入 { provide: FLAG, useFactory: FlagFactory, deps: [...] } 所以,我有興趣,如果有一種方法如何做到這一點,而無需手動 function FlagFactory() { return l

    2熱度

    1回答

    很明顯,我們需要使用markForCheck()大多與OnPush策略,以標誌分量做CD檢查,但 我試圖找出爲什麼只檢查一個分支: 爲什麼可以運行整個應用程序的CD或只有特定組件,否?

    2熱度

    1回答

    所以...我正在遷移使用HttpModule和angular2-jwt庫的「舊」代碼。 之前,我可以做angular2-jwt工作具有以下配置: export function authHttpServiceFactory( http: Http, options: RequestOptions, myService: MyService) { return new AuthH

    1熱度

    1回答

    這個問題的框架不可知的方式是「如何使用服務定位器註冊另一個服務?」 Injector被設置爲不可變的,包括接口和實現。 interface Injector { abstract get(token: any, notFoundValue?: any): any; } 接口https://github.com/angular/angular/blob/master/packages