collection
以下のようなビューがあります。
MyView = Backbone.View.extend({
initialize: function() {
this.collection.on("change://an attribute of a model in aCollectionToRender", someAction);
}
});
var MyViewInstance = new MyView({
collection: aCollectionToRender
});
基本的に、MyView
コレクション全体の変更をリッスンするのではなく、コレクションに含まれるモデルの 1 つの属性のみをリッスンします。
これには多くの代替手段があることを認識しています。
- のモデルごとにビューを作成し、それらのビューにイベント
aCollectionToRender
を添付します。.on("change")
自分の状況では正しいことではないので、やりたくない this.collection.on("change")
イベントを作成し、要件に基づいてイベント ハンドラー フィルターを設定するだけです。これはあまり洗練されていません。上記で尋ねたように Backbone で既にイベント フィルターを記述できる場合、これは重複したコードです。
すでにフィルタリングを行っているイベントリスナーを作成する方法があるかどうか疑問に思っていました. この質問も重複している可能性があります。調べましたが、これとまったく同じものは見つかりませんでしたが、バックボーンに関する質問がたくさんあります