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