所以我正在考虑将 jQuery 应用程序移至主干。我有一个视图,我传递一个集合,该集合创建一个视图列表,每个视图都是传递的模型。此视图将信息输出到输入中。有没有办法,我可以自动从视图传播到相关模型,或者这是否为我自动完成。
比如说我有一个看起来像这样的视图:
我有以下内容,当我更新 this.update_value 时会被调用。但是我怎么知道哪个模型发生了变化?我可以参考导致change
事件的特定模型吗?对不起,如果这听起来很基本。
var HomepagePositionView = Backbone.View.extend({
className:'row',
initialize:function(){
_.bindAll(this, "render");
this.listenTo(this.model, 'change', this.update_value);
},
render:function(){
var html="<div class='span2'>" + this.model.get('name') + "</div><div class='span1'><input type=text class='hp_score input-mini pull-right' value='" + this.model.get('hp_score') + "' /></div>";
$(this.el).html(html);
this.$('.hp_score').bind('change', this.update_model);
return this;
},
update_model:function(){
console.log('this model changed' + this.model.id); // this.model.id is not working
}
});
和
var HomepagePositionsView = Backbone.View.extend({
render:function(){
// iterate through collection and for each model create a HomepagePositionView
}
如果基础模型没有更改,我希望更新按钮为空白。如果我的 Church and State 从 90 -> 95 变化,Backbone 中是否有办法判断哪些模型发生了变化?
谢谢