そこで、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 と State が 90 から 95 に変更された場合、どのモデルが変更されたかを Backbone で確認する方法はありますか?
どうも