Marionette ItemView, wie man das Modell bei Änderung neu rendert
Ich bin mit LENKER template-engine.
also, ich hab das Modell:
Backbone.Model.extend({
urlRoot: Config.urls.getClient,
defaults: {
contract:"",
contractDate:"",
companyTitle:"",
contacts:[],
tariff: new Tariff(),
tariffs: [],
remain:0,
licenses:0,
edo:""
},
initialize:function(){
this.fetch();
}
});
dann Marionette ItemView:
Marionette.ItemView.extend({
template : templates.client,
initialize: function () {
this.model.on('change', this.render, this);
},
onRender: function () {
console.log(this.model.toJSON());
}
});
dann nenne ich alles, was wie:
new View({
model : new Model({id:id})
})
und sofort das Rendern einer Ansicht, die für mich und das ist cool.
Aber nach dem Modell von abgerufenen Daten ist es trigger "ändern", also ich sehe in der Konsole serialisierte Modell zweimal, und ich sehe zum ersten mal leer Modell und dann gefüllt.
Aber die Ansicht wird NICHT aktualisiert.
Wie ich es beheben kann?
P. S. ich verstehe, dass ich anrufen kann eine render-Methode auf fetch erfolgt Rückruf. Aber ich brauche es weitere Maßnahmen, wenn der Benutzer wird sich ändern-Modell.
InformationsquelleAutor der Frage Vadim Ivanov | 2013-06-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Ansicht, können Sie verwenden Sie folgenden code,
statt
InformationsquelleAutor der Antwort Fizer Khan
Eigentlich, Backbone und Marionette sind smart genug, das zu tun.
Problem war in der Vorlage und Daten, als ich es gefunden eine andere Frage. So, ich habe erneut alles überprüft und habe Ergebnis.
InformationsquelleAutor der Antwort Vadim Ivanov