0

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を送信者としてオプション付きで渡し、レンダリング時にチェックしますが、少し醜いようです。

4

1 に答える 1