SAPUI5 obtenir contexte actuel en vue de détail
J'ai un SAPUI5 split-app avec un maître - détail et du point de vue.
Lorsque je sélectionne un élément dans la barre latérale, je passe le contexte de la vue de détail, disons produit 1
onSelectProduct: function(evt){
sap.ui.getCore().getEventBus().publish("app", "refreshProductDetail", {context : evt.getSource( ).getBindingContext()});
},
ce qui déclenche la fonction suivante, qui lie le contexte:
refresh: function(channelId, eventId, data){
if (data && data.context) {
this.getView().setBindingContext(data.context);
}
},
Maintenant, quand je effectuer une action comme aide, je veux récupérer les données de produit 1 qui est dans le modèle.
Cependant, lorsque j'utilise
this.getView().getBindingContext().getModel()
il renvoie le modèle avec tous les produits. Comment puis-je savoir qui l'on est actuellement visualisé par l'utilisateur?
OriginalL'auteur Anonymoose | 2014-06-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
getPath()
d'un bindingContext pour voir ce que l'objet est actuellement affichée:Vous pourriez faire quelque chose comme ceci:
Si vous voulez seulement une certaine propriété de votre objet, vous pouvez faire quelque chose comme ceci:
qui renvoie à une propriété d'un objet au contexte spécifique.
Mise à jour:
Vous pouvez simplement appeler
getObject()
d'un bindingContext qui renvoie l'objet dans le modèle le contexte actuel de points d':Voir le la documentation de Contexte pour plus d'informations.
console.log(object);
après. Dans les Chromes de la console je peux voir le contenu de l'objet maintenant, avec tous les attributs qu'il possède. Mais lorsque j'essaie d'accéder à une propriété comme ceci:console.log(object.Id);
- je obtenirundefined
. Aucune idée de pourquoi cela se passe?Parfois, je fais face à ce problème lors du débogage d'objets du modèle. Cela peut se produire depuis que vous êtes à la tenue d'un pointeur vers l'objet et non pas une copie d'objet. Vous pouvez essayer d'arrêter votre programme immédiatement après la récupération de l'objet de la bindingContext et de le lire, plutôt que de simplement leur enregistrement à la console.
OriginalL'auteur Tim Gerlach
Pour élément de la liste "sélectionner" de l'événement, pour obtenir currect élément sélectionné enregistrer à partir de la liaison contexte d'utilisation:.
Et "listItem" ne fonctionne que pour une seule sélection. Pour les sélections multiples d'utilisation "listItems" qui renvoie un tableau d'éléments sélectionnés
OriginalL'auteur Aurel Havetta