Ручная впрыска в пользовательский класс с 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
Я немного подозреваю, что инъекция инжектора в класс с менеджером на его имени, но это самое чистое, как я могу подумать, чтобы сделать это.
Вы должны иметь в виду, что после того, как менеджер был нанесен на карту, если вам не нужно немедленно, он будет введен инжектором, когда он впервые создается (вводится в другой класс, который его использует). Robotlegs создает случаи лениво.
Не связан с StackOverflow