用SwiftSuspenders/Robotlegs手动注入定制课程
-
29-09-2019 - |
题
在我的上下文中:
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
我有点怀疑将注射器注射给经理的名字,但这是我能想到的最干净的方法。
您应该记住,在映射管理器之后,如果您不需要立即需要它,则在首次创建时会向注射器注入(通过在使用它的另一个类中注射)。机器人懒洋洋地创建了实例。
不隶属于 StackOverflow