Я использую механизм шаблонов Handlebars.
поэтому, у меня есть модель:
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();
}
});
затем Marionette ItemView:
Marionette.ItemView.extend({
template : templates.client,
initialize: function () {
this.model.on('change', this.render, this);
},
onRender: function () {
console.log(this.model.toJSON());
}
});
а затем я называю все как:
new View({
model : new Model({id:id})
})
и он сразу же дает мне представление, и это круто. Но после того, как модель взяла данные, она вызывает "изменение", поэтому я вижу в сериализованной модели консоли дважды, и я вижу, что в первый раз пустая модель, а затем заполнила ее.
Но представление не обновляется.
Как я могу это исправить?
P.S. Я понимаю, что я могу вызвать метод рендеринга при извлечении сделанного обратного вызова. Но я также нуждаюсь в этом для дальнейших действий, когда пользователь изменит модель.