J'utilise KnockoutJS pour afficher une liste d'images. Dites que j'utilise un modèle X pour afficher cette liste et j'ai défini un autre modèle Y pour afficher les détails dans une boîte de dialogue séparée d'une image sélectionnée. Je suis confronté à des problèmes de fixation de l'image sélectionnée avec ce modèle de détail Y. Voici une maquette/code partiel de mon point de vue réelleUtilisation de plusieurs modèles et liaisons dans une seule vue
ViewModel:
var viewModel {
photos:ko.observableArray(//list of photos),
showDetails:function(item){
//show the details of the selected image in dialog
}
};
La liaison est appliqué comme
ko.applyBindings(viewModel);
Voici comment X est défini
<script id="X" type="text/html">
{{each(i,item) photos()}}
<a href="javascript:;" data-bind="click:function(){showDetails(item);}">show Image</a>
{{/each}}
</script>
Voici comment le modèle est appliqué
<div class="list" data-bind="template: {name:'X'}"></div>
Ceci est un modèle de Y mockup
<script id="Y" type="text/html">
<img src="{url}" />
</script>
Comment dois-je définir les showDetails fonction d'appliquer les liaisons à le modèle Y?
Merci. J'essayais la même chose mais au lieu de définir la valeur comme viewModel.selectedPhoto ($ data) j'essayais viewModel.selectedPhoto = $ data – frictionlesspulley