Mate comment injecter le composant d'interface utilisateur
-
14-11-2019 - |
Question
Dans le cadre du mate pour Flex. J'essaie d'injecter un UIComponent dans un non uiComponent.
La raison en est que le composant d'interface utilisateur est un composant de bibliothèque et il a des méthodes qui doivent être invoquées dessus. Je ne suis pas en mesure de supprimer l'exigence pour invoquer les méthodes.
J'ai quelque chose comme ça actuellement
<ObjectBuilder cache="global" generator="{DashboardController}" registerTarget="true"/>
<EventHandlers type="{DashboardEvent.DASHBOARD_CREATION_COMPLETE}">
<PropertySetter generator="{DashboardController}"
targetKey="dashboard"
source="{lastReturn}"
sourceKey="target" />
</EventHandlers>
Et je reçois une erreur comme celle-ci.
-------------------------------------------------- ------- Erreur du partenaire: Mismatch du type de propriété, activez le débogueur pour plus d'informations EventType: test.example.events.creationcomplete. L'erreur a été trouvée dans une liste d'événements Handlers dans le tableau de bord de tableau de bord de fichier ---------------------------------------- -----------------
J'ai également essayé d'utiliser un constructeur d'objets pour définir la propriété.
La solution
Je suppose que le problème est votre lastReturn
le type n'est pas compatible avec DashboardController.dashboard
champ. Veuillez le revérifier.
Autres conseils
Je l'ai fait fonctionner. Lastreturn revenait parfois nuls même s'il était dans un bloc de manchette d'événement.
Je ne savais pas que l'objet de l'événement était dans la portée ici.
<EventHandlers type="{DashboardEvent.DASHBOARD_CREATION_COMPLETE}" debug="true">
<PropertySetter generator="{DashboardController}"
targetKey="dashboard"
source="{event.target}" />
</EventHandlers>