Comment charger dynamiquement un fragment XML en XML?
Supposons que j'ai la vue XML suivante:
<mvc:View xmlns:mvc="sap.ui.core.mvc" ...>
<Page>
<content>
<l:VerticalLayout>
<l:content>
<core:Fragment fragmentName="my.static.Fragment" type="XML" />
</l:content>
</l:VerticalLayout>
</content>
</Page>
</mvc:View>
Le fragment my.Fragment
est chargé statiquement. Cependant, je veux maintenant changer dynamiquement à être chargé fragment (idéalement à l'aide de la liaison de données de la fragmentName
propriété, mais tout autre moyen devrait l'être aussi), c'est à dire. quelque chose comme ceci:
<mvc:View xmlns:core="sap.ui.core.mvc" ...>
<Page>
<content>
<l:VerticalLayout>
<l:content>
<core:Fragment fragmentName="{/myDynamicFragment}" type="XML" />
</l:content>
</l:VerticalLayout>
</content>
</Page>
</mvc:View>
Cependant, ce dernier ne fonctionne pas, et le Fragment définitions de ne pas autoriser la liaison de données... j'ai peut-être raté quelque chose, mais comment dois-je modifier dynamiquement le Fragment de mon XML basé sur un paramètre de modèle, propriété/etc?
Pour l'instant, j'ai recours à un contrôle personnalisé au lieu d'utiliser directement un fragment de mon point de vue, et le contrôle de la distribution vers le Fragment approprié, mais je pense qu'il devrait être plus facile, out-of-the-box de la sorte...
OriginalL'auteur Qualiture | 2014-09-06
Vous devez vous connecter pour publier un commentaire.
Je pense que la seule solution sera de l'initialisation de l'fragment de
onInit
méthode de contrôleur:onAfterRendering
méthode, depuis leonInit
sera appelé une fois (tout le but de ma quête est de réutiliser une vue unique et d'avoir du contenu (fragments et/ou intérieure vues) variation sur demandeOriginalL'auteur Nikolay Nadorichev
Le nom du fragment peut aussi résulter d'une liaison, y compris une expression de liaison qui prend la valeur d'une constante. En tant que formateur de retour des fonctions de chaînes de caractères, et non pas des valeurs booléennes, === 'true' a été ajouté dans l'exemple suivant:
Exemple: Dynamique Fragment Nom
fragmentName
n'est pas une propriété mais un membre de "specialSettings" qui est pas peut être liée.OriginalL'auteur adirocks27