2

(私は Backbone と Backgrid を初めて使用します。) 私は Backgrid と select-all 拡張機能を使用しており、select all が包含/親ビューで発生するイベントを「キャッチ」するという問題がありました。マスター グリッドで行が選択されたときに詳細ビューを表示したいと考えています。したがって、別のビューで詳細を表示できるように、親ビューにバブル アップするグリッドの選択イベントが必要です。

var view = Backbone.View.extend({
    el: '.grid',
    initialize: function () {

        var columns = [{
            name: "id",
            label: "ID",
            editable: false,
            cell: "string"
        }, {
            name: "",
            label: "Action",
            cell: "select-row"
        }];

        var grid = new Backgrid.Grid({
            columns: columns,
            collection: this.collection
        });

        $("#backgrid").append(grid.render().$el);
    });
});

今、私はこのようなものをビューに追加したいと考えています

events: {
"backgrid:select": "<name of the function i want to call>"
}

しかし、それはうまくいかないようです。どんな助けでも大歓迎です。

4

1 に答える 1

5

私は自分の質問に答えることができました...ビューの追加で....

this.collection.on('backgrid:selected', function(model, selected) { 
   //do what i need here 
});

backgrid はすでにイベント backgrid:select をトリガーしています (モデルを介して処理されます) が、コレクション内でバブルアップするイベント backgrid:selected もトリガーします... 親ビューを介してアクセスできます。

これを指摘している公式の API ドキュメントへの参照は、ここにあります。

于 2013-06-11T20:33:09.047 に答える