injection manuelle en classe personnalisée avec swiftSuspenders / robotlegs
-
29-09-2019 - |
Question
dans mon contexte:
var parserManager:ParserManager = injector.instantiate(ParserManager);
parserManager.injector = injector;
injector.mapValue(ParserManager, parserManager);
dans mon parserManager (ne couvre pas toute autre classe) classe:
public var injector:IInjector;
le parserManager est injecté dans certains modèles. Y at-il une meilleure façon de le faire? cela est si sale ..
La solution
injector.mapSingleton(ParserManager);
var parserManager:Parser = injector.getInstance(ParserManager);
ParserManager:
[Inject]
public var injector:IInjector
Je suis un peu suspect d'injecter l'injecteur dans une classe avec le gestionnaire en son nom, mais qui est de la manière la plus propre que je peux penser pour le faire.
Vous devriez garder à l'esprit que, après le gestionnaire a été cartographié, si vous n'avez pas besoin immédiatement, alors il sera injecté avec l'injecteur lors de sa création (en étant injecté dans une autre classe qui l'utilise). Robotlegs crée des instances paresseusement.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow