无法循环收集 - 骨干

时间:2013-04-17 13:28:35

标签: javascript backbone.js

下面是我的json结构,在收集后,我无法遍历它。

JSON:

{ "science":[{},{},{},...{}], "maths":[{},{},{},...{}], "english":[{},{},{},...{}], }

this.collection.each(function(m) {
    //returns me only only single child object named "r"
    //screenshot attached below
});

我如何循环3次,即3个差异阵列对象?

enter image description here

1 个答案:

答案 0 :(得分:1)

您必须更改包含数据的JSON。集合将解析您提供的JSON:

[{...}, {...}, {...}]

这里我们有一个包含3个对象的数组。这将被解析为3个模型。所以你想要这样的东西:

[
  {course: 'science', data: [...]},
  {course: 'maths', data: [...]},
  {course: 'aviation', data: [...]}
]

这将为您提供包含3个模型的集合,每个模型将具有2个属性:一个属性course和一个data。现在,循环遍历它们:

this.collection.each(function(m) {
  console.log(m.get('course')); // will be science, maths or aviation
  console.log(m.get('data')); // will be the corresponding array
});