inyección manual en clase personalizada con swiftSuspenders / robotlegs
-
29-09-2019 - |
Pregunta
en mi contexto:
var parserManager:ParserManager = injector.instantiate(ParserManager);
parserManager.injector = injector;
injector.mapValue(ParserManager, parserManager);
en mi parserManager (no se extiende ninguna otra clase) Clase:
public var injector:IInjector;
el parserManager se inyecta en algunos modelos. ¿Hay una mejor manera de hacerlo? esto es tan sucio ..
Solución
injector.mapSingleton(ParserManager);
var parserManager:Parser = injector.getInstance(ParserManager);
en ParserManager:
[Inject]
public var injector:IInjector
Estoy un poco sospechoso de la inyección del inyector en una clase con el Administrador en su nombre, pero eso es la manera más limpia que puedo pensar para hacerlo.
Se debe tener en cuenta que después de que el gestor ha sido asignada, si no lo necesita inmediatamente a continuación, se inyecta con el inyector cuando se crea por primera vez (al ser inyectada en otra clase que lo utiliza). Robotlegs crea instancias perezosamente.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow