私の単純なプロジェクトには、2 つのビューがあります - 広告申込情報ビュー (ブランド) とアプリです。複数のアイテムを選択できる機能を追加しました:
var BrandView = Backbone.View.extend({
...いくつかのコード...
toggle_select: 関数() {
this.model.selected = !this.model.selected;
if(this.model.selected) $(this.el).addClass('selected');
そうでなければ $(this.el).removeClass('selected');
これを返します。
}
});
var AppView = Backbone.View.extend({
...いくつかのコード...
delete_selected: 関数() {
_.each(Brands.selected(), 関数(モデル){
model.delete_selected();
});
false を返します。
}、
});
つまり、いくつのアイテムが選択されているか知りたいのです。このセットアップでは、選択はモデルに影響を与えないため、イベントは発生しません。そして、MVC の概念から、ビューは他のビューと直接やり取りしてはならないことを理解しています。では、BrandViews で何かが選択されていることを AppView はどのようにして知るのでしょうか?
より具体的には、AppView を使用して項目がいくつ選択されたかを把握するので、複数選択されている場合は、複数選択用のメニューを表示します。