Ручная впрыска в пользовательский класс с Swiftsuspenders/Robotlegs

StackOverflow https://stackoverflow.com/questions/4129180

Вопрос

В моем контексте:

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 создает случаи лениво.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top