2

(让我先介绍一下我是 Backbone 和 Backgrid 的新手。)我正在使用 Backgrid 和全选扩展,我在“捕获”我的包含/父视图中全选触发的事件时遇到了问题。我想在主网格中选择一行时显示详细信息视图。所以,我需要网格中的选择事件冒泡到父视图,以便它可以在另一个视图中显示详细信息。

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 回答