Provare ad avere un campo dati in un aggiornamento del modello di Handlebars dopo che è stato recuperato il modello assegnato a Marionette CompositeView, ma l'HTML nella pagina non viene aggiornato.Come aggiornare i dati dopo il recupero del modello nel modello di Handlebars con Backbone e Marionette?
Il mio codice è simile al seguente:
Modello:
B.Page.Model = Backbone.Model.extend({
url: function() {
return 'my/resource/';
},
});
Vista:
B.Page.CompositeView = Backbone.Marionette.CompositeView.extend({
template: Handlebars.compile(templates.find('#my-template').html()),
initialize: function(options) {
_.bindAll(this);
this.model.fetch();
},
)};
Template:
<script id="my-template" type="text/x-handlebars-template">
Date: <span id="my-data-field">{{data}}</span>
</script>
Ho controllato la risorsa e lo fa tornare corretta JSON con il set data
campo. Inoltre, il modello viene passato alla vista.
Sospetto che ciò sia dovuto al fatto che la funzione render
non viene chiamata dopo che i dati sono stati recuperati; tuttavia, vorrei ricevere un feedback su come dovrebbe essere fatto.
Qual è un buon modo per farlo?
Grazie!
EDIT: questo oggetto CompositeView dispone di una raccolta associata (che viene visualizzata correttamente quando si attiva l'evento appropriato). Ho intenzionalmente omesso quella parte del codice per evitare di confondere il problema.
Ti sei assicurato che fosse in corso il rendering? Potrebbe essere necessario associare l'evento di aggiornamento al metodo di rendering della vista. –
Esattamente a destra. Molte grazie! –