【发布时间】:2018-08-28 14:03:04
【问题描述】:
我有一个简单的工厂和一个注入令牌,我在 Angular 依赖注入中使用如下:
const TOKEN = new InjectionToken<EventEmitter<MyType>>("Create p");
和工厂:
const createEventEmitter = () => new EventEmitter<MyType>();
现在我在我的模块中提供它,如下所示:
providers: [
{provide: TOKEN, useFactory: createEventEmitter}]
我将它注入到一些构造函数中:
constructor(@Inject(TOKEN) emitter: EventEmitter<MyType>)
这行得通。但是,我确实得到了一个单例实例。
如果我想像工厂模式一样执行此操作,以便在注入引用时获得一个新实例,该怎么办?这可能吗?有点像 Spring 的@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE).
额外问题:是否可以创建一个注入器令牌来注入具有泛型类型参数的类的新实例?所以一个注入器令牌注入所有 EventEmitter。
【问题讨论】:
标签: angular