Backboneで作成された次の構造があります。各ビューは同じモデルをリッスンします。各ビューはそれを更新できます。モデルの更新を引き起こしたビューのrenderメソッド呼び出しを回避するにはどうすればよいですか?
var MyView1 = Backbone.View({
initialize: function() {
this.listenTo(this.model, 'change', this.render)
},
events: {
'click' : 'set'
},
render: function() {
return this
},
set: function (){
this.model.set('property1', 'value')
}
})
var MyView2 = Backbone.View({
initialize: function() {
this.listenTo(this.model, 'change', this.render)
},
events: {
'click' : 'set'
},
render: function() {
return this
},
set: function (){
this.model.set('property1', 'value')
}
})
var model = new Backbone.Model
var view1 = new MyView1({model: model})
var view2 = new MyView2({model: model})
私が期待する:
view1-> model.set()->view2のrenderメソッドのみを呼び出す必要がありますをクリックします
WinFormsの経験から、ビューのcidを送信者としてオプション付きで渡し、レンダリング時にチェックしますが、少し醜いようです。