【发布时间】:2017-02-09 18:16:15
【问题描述】:
我需要将一个服务注入到 Angular 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]
})
然后如何检索和访问所需的参数化服务?
【问题讨论】:
标签: angular typescript dependency-injection