2

从集合中删除模型时如何获取模型的索引。在下面的代码中,有一个回调函数 doSomething(){} 在触发 remove 时调用,我希望那里有索引。

骨干文档说“删除前的模型索引作为 options.index 可供听众使用”, 但我得到的选项是未定义的。

MyModel = Backbone.Model.extend({});    

var MyCollection = Backbone.Collection.extend({
   model : MyModel 
});

var data = [

    {
        "id": 1,
        "value": 600
    },
    {
        "id": 2,
        "value": 800
    },
    {
        "id": 3,
        "value": 700
    },
    {
        "id": 7,
        "value": 100
    }

];

var newCollection = new MyCollection();
newCollection.on('remove',doSomething);
newCollection.reset(data);

function doSomething(){/* how to get the index of the deleted model */}
newCollection.remove(newCollection.at(2));

console.log(newCollection);

小提琴 - http://jsfiddle.net/Z7Qmg/

4

1 回答 1

3
function doSomething(model, collection, options) {
    console.log(options.index);
}

http://jsfiddle.net/vpetrychuk/Z7Qmg/1/

于 2013-05-09T10:01:14.460 回答