我正在使用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})
})
而且,它立即为我呈现了一个视图,这很酷。 但是在模型获取数据之后,它会触发“change”事件,因此我在控制台中看到了序列化的模型两次,并且第一次看到了空模型,然后是填充的模型。
但是,视图没有更新。
我该怎么解决?
P.S. 我知道我可以在获取数据后调用render方法。 但当用户更改模型时,我还需要它进行进一步操作。