Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干js:集合事件函数选项索引未定义_Backbone.js_Backbone.js Collections - Fatal编程技术网

Backbone.js 主干js:集合事件函数选项索引未定义

Backbone.js 主干js:集合事件函数选项索引未定义,backbone.js,backbone.js-collections,Backbone.js,Backbone.js Collections,我试图得到模型的索引值。但它返回未定义的值。如何在触发事件后获取索引值 var Test=new Backbone.Collection(); Test.add({name:'gowtham',age:20}); Test.add([{name:'eswara',age:25}, {name:'sakthi',age:20}]); console.log(JSON.stringify(Test)); Test.remove(Test.at(1)); console.log(JSON.str

我试图得到模型的索引值。但它返回未定义的值。如何在触发事件后获取索引值

var Test=new Backbone.Collection();

Test.add({name:'gowtham',age:20});
Test.add([{name:'eswara',age:25},

{name:'sakthi',age:20}]);
console.log(JSON.stringify(Test));

Test.remove(Test.at(1));
console.log(JSON.stringify(Test));

Test.on('add',function(model, col, options) {
    console.log('added ' +model.get('name')+'at index '+ options.index);
});
Test.add({name:'ganesh',age:22});

在您的示例中,我没有看到任何尝试输出模型索引的情况

Test.on('add',function(model, col, options) {
    console.log('added ' +model.get('name')+'at index '+ `options.index);`
});
也许这只是个打字错误

默认情况下,
add
事件回调有三个参数:
model
collection
options
,并且没有索引,因此您必须自己获取它

我在这里放了一段关于如何获取添加模型的索引的代码 以及如何在一定的指标下添加模型

您仍然可以在此处查看更多信息:

let test=new Backbone.Collection([{},{},{}]);
test.on('add',(model,collection)=>{
console.log('索引为:',collection.indexOf(model))
});
设model1=test.add({});
//控制台:索引为:3
add({},{at:0});
//控制台:索引为:0
console.log('model新索引:'+test.indexOf(model1))
//控制台:型号新索引:4


现在,我编辑了一个示例中的问题,他们正在获取选项。index的valueoptions.index如果您将
at
值传递给选项,则已填充