Próba wprowadzenia pola danych w aktualizacji szablonu narzędzia Handlebars po pobraniu modelu przypisanego do komponentu Marionette CompositeView, ale kod HTML na stronie nie jest aktualizowany.Jak zaktualizować dane po pobraniu modelu w szablonie Handlebars ze szkieletem i marionetką?
Mój kod wygląda następująco:
Model:
B.Page.Model = Backbone.Model.extend({
url: function() {
return 'my/resource/';
},
});
Widok:
B.Page.CompositeView = Backbone.Marionette.CompositeView.extend({
template: Handlebars.compile(templates.find('#my-template').html()),
initialize: function(options) {
_.bindAll(this);
this.model.fetch();
},
)};
Szablon:
<script id="my-template" type="text/x-handlebars-template">
Date: <span id="my-data-field">{{data}}</span>
</script>
Sprawdziłem zasobu i robi powrót prawidłowego JSON z zestawem data
pola. Ponadto model jest przekazywany do widoku.
Podejrzewam, że jest to spowodowane wywołaniem funkcji render
po otrzymaniu danych; jednak chciałbym uzyskać informację zwrotną na temat tego, jak należy to zrobić.
Co to jest dobry sposób na zrobienie tego?
Dzięki!
EDYCJA: Ten widok złożony ma kolekcję, która jest z nim powiązana (co jest w porządku, gdy wyzwolę odpowiednie zdarzenie). Celowo pominąłem tę część kodu, aby uniknąć pomieszania problemu.
Czy upewniłeś się, że został ponownie renderowany? Konieczne może być powiązanie zdarzenia aktualizacji z metodą wyświetlania widoku. –
Dokładnie w prawo. Wielkie dzięki! –