Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript 每个主干都未定义_Javascript_Jquery_Backbone.js - Fatal编程技术网

Javascript 每个主干都未定义

Javascript 每个主干都未定义,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,为什么在这个示例中未定义item变量 var Action = Backbone.Model.extend({ defaults: { "selected": false, "name": "First Action", "targetDate": "10-04-2014" } }); var Actions = Backbone.Collection.extend({ model: Action }); var actionCollection = new

为什么在这个示例中未定义item变量

var Action = Backbone.Model.extend({
defaults: {
    "selected": false,
    "name": "First Action",
    "targetDate": "10-04-2014"
}
});

var Actions = Backbone.Collection.extend({
    model: Action
});

var actionCollection = new Actions( [new Action(), new Action(), new Action(), new Action()]);

_.each(actionCollection, function(item) {
    alert(item);
});
jshiddle此处:

将其更改为:

actionCollection.each(function(item) {
        alert(item);
});
而且效果很好

这是因为actionCollection不是一个数组,所以u.each(collection)不起作用,但collection.each起作用,因为该函数内置于主干集合中

也就是说,这也适用于:

_.each(actionCollection.toJSON(), function(item) {
        alert(item);
});

因为现在集合是一个实际的数组。

\每个
都接受一个数组作为第一个参数,但是您传递了一个
集合

只需使用
集合。每个
方法:

actionCollection.each(function(item){
  //do stuff with item
});