dans le SAPUI5 / openui5 xmlfragment Documentation Le troisième paramètre est un contrôleur permettant de manipuler les actions du fragment.
Ceci est essentiel pour un fragment de dialogue où il y a des boutons pour appuyer sur, etc. P>
la plupart du temps que j'ai vu Ceci instancié comme Voir un exemple à Fragment non Obtenir le contrôleur correct P> en raison de la complexité de Une boîte de dialogue particulière que j'aimerais avoir un contrôleur séparé pour cela. P> J'ai regardé autour de cela et j'ai eu quelques tentatives, mais jusqu'à présent, pas de succès. P> J'ai mis un exemple de travail sur GITUB d'utiliser Mais je voudrais instancier Tous les preneurs? P> Demandes de tirage volontiers reçues. P> Le creux de l'exemple est le suivant (c'est le fichier initial.Controller.js) : p> }); p> merci. p> p> ce code> ou
sap.ui.getcore (). SYID ('<élément>'). getController ()) code> p>
Ceci code>. P>
dialog.js code> comme contrôleur pour la boîte de dialogue
Dialog.fragment.xml code> à partir de
Initial.View.Controller < / Code> p>
3 Réponses :
seul exemple que je pourrais trouver près de la vôtre était dans la pénurie de matériaux FIORI App beaucoup d'exemples d'injection d'un contrôleur lorsque le fragment a été appelé à partir d'une classe d'assistance. La classe d'assistance favorise la réutilisation, par exemple le même fragment de dialogue peut être appelé à partir de plusieurs vues / composants. La méthode de la classe d'assistance pour la configuration de la boîte de dialogue est appelée à partir d'un contrôleur et que le paramètre OController est défini sur 'Ceci'. P> hth
jsp p> p>
J'ai copié un contrôleur existant.js et le renommé. P>
Puis, instancié que comme un ci-dessous, et l'a transmis avec le fragment. P>
var onewcontroller = nouveau sap.ui.core.mvc.controller ("myProject.dialogcontroller"); this._odialog = sap.ui.xmlfragment ("myPopup", "myProject.fragments.mypopup", onewcontroller); p>
Tous les événements sont maintenant gérés dans une onewcontroller, plutôt que le précédemment utilisé "Ceci" ... P>
(juste arrivé à l'aéroport de Syd)
Tout ce que vous manquez est le p> dans votre a poussé une solution rapide dans une branche à votre repo et ouvert un PR a> p> p> initial.controller.js code>. P>
S'il vous plaît poster l'exemple (simplifié) que vous avez ici aussi. (Politique Stackoverflow)
Fait merci @ gábor-bakos