如何在角度2中使用Factory Provider
发布时间:2020-12-17 07:20:03 所属栏目:安全 来源:网络整理
导读:我需要在角度2应用程序中将服务注入另一个服务.在阅读了我推断的文档后,最好的方法是使用 Factory Provider.但是出现了两个问题: 1)文档建议创建一个带有两个“代码段”的HeroServiceProvider类: let heroServiceFactory = (logger: Logger,userService: U
我需要在角度2应用程序中将服务注入另一个服务.在阅读了我推断的文档后,最好的方法是使用
Factory Provider.但是出现了两个问题:
1)文档建议创建一个带有两个“代码段”的HeroServiceProvider类: let heroServiceFactory = (logger: Logger,userService: UserService) => { return new HeroService(logger,userService.user.isAuthorized); }; export let heroServiceProvider = { provide: HeroService,useFactory: heroServiceFactory,deps: [Logger,UserService] }; 我的问题是这个班级应该怎么样?应该在哪里添加上述代码段? 2)如何/可以使用这家工厂?我明白了,它应该导入为: import { heroServiceProvider } from './hero.service.provider'; @Component({ selector: 'my-selector',template: ` `,providers: [heroServiceProvider] }) 那么如何检索和访问所需的参数化服务呢?
我在app_initalizer上注入了同样的问题,经过长时间的搜索我找到了下面的解决方案.可能这对您的方案有帮助.
@NgModule({ imports: [ BrowserModule],... providers: [ { provide: HeroService,UserService],multi: true } ] }) export class AppModule {} export function heroServiceFactory = (logger: Logger,userService: UserService) => { return new HeroService(logger,userService.user.isAuthorized); }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |