0

バックボーンのビュー イベント ハッシュを利用して、変更イベントを現在のビューのコレクションにバインドしようとしています。

events: {
    'this.collection change': 'render'
}

私の現在の方法とは対照的に:

initialize: function() {
    this.collection.on('change', this.render, this);
}

しかし、これはイベントを発生させないようです。イベントハッシュを使用してイベントをコレクションにバインドする際の制限はありますか?

4

2 に答える 2

3
events: {
    // hash
}

DOM イベントをビュー関数に接続するためのものです。

this.collection.on('change', this.render, this);  // Except change is for models

change適切にトリガーされたコレクションのカスタム変更イベントを指定していない限り、イベントはコレクションではなくモデル用であることを除いて、初期化関数でそれを行う方法です。

あなたが探しているのは、add removeまたはresetイベントをコレクションにバインドすることです。

于 2012-08-22T04:08:17.500 に答える
0

マリオネットビューを使用していた場合は、あなたがcollectionEvents言及した方法で使用できます。http://marionettejs.com/docs/marionette.view.html#viewmodelevents-and-viewcollectioneventsを参照してください。

collectionEvents: {
    'change': 'render'
}

changeプレーン バックボーンを使用している場合は、コレクションのイベントをリッスンするという orangewarp の提案を使用するのが適切ですthis.collection.on

于 2015-03-18T22:09:52.513 に答える