在我的上下文中:

var parserManager:ParserManager = injector.instantiate(ParserManager);
parserManager.injector = injector;
injector.mapValue(ParserManager, parserManager);

在我的Parsermanager(不扩展任何其他类)类中:

public var injector:IInjector;

Parsermanager在某些模型中注入。有更好的方法吗?这太脏了。

有帮助吗?

解决方案

injector.mapSingleton(ParserManager);
var parserManager:Parser = injector.getInstance(ParserManager);

在Parsermanager中:

[Inject]
public var injector:IInjector

我有点怀疑将注射器注射给经理的名字,但这是我能想到的最干净的方法。

您应该记住,在映射管理器之后,如果您不需要立即需要它,则在首次创建时会向注射器注入(通过在使用它的另一个类中注射)。机器人懒洋洋地创建了实例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top