我使用的是Handlebar模板引擎。
所以,我有一个模型:
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();
}
});
然后是木偶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})
})
而且,它会立即为我呈现一个视图,这很酷。但是在模型获取数据后,它触发了“更改”,所以我在控制台中看到了两次序列化的模型,并且我第一次看到了空模型,然后填充了一个。
但是,视图不会更新。
我怎么才能修复它?
附言:我理解,我可以在fetch done回调中调用render方法。但我也需要它为进一步的行动,当用户将改变模型。
https://stackoverflow.com/questions/16876970
复制相似问题