将数组数组转换为模型的骨干集合

时间:2012-07-13 21:46:35

标签: collections backbone.js coffeescript models

Backbone的新手,并在这里强调js。

我有一组数组,我想将其转换为模型集合。

所以就像

{ {1, 2, 3, 4}, {5, 6, 7, 8}}

第二级数组是进入骨干模型的内容。现在,我有

collection.reset(_.map(results, (indvidualResults) -> new model(individualResults))

当我执行console.log(collection.pop)时,这不起作用我打印出一个函数。我想这是因为我正在使用一组数组(但我可能是错的)。如何将第二个数组转换为模型然后将其放入集合中?

1 个答案:

答案 0 :(得分:9)

重塑您的原始数据,使其看起来更像:

[{ first: 1, second: 2, third: 3, fourth: 4 }, { first: 5, second: 6, third: 7, fourth: 8}]

假设您的模型和集合定义如下:

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

然后将属性哈希数组传递给reset方法:

var results = [{ first: 1, second: 2, third: 3, fourth: 4 }, { first: 5, second: 6, third: 7, fourth: 8}];
var collection = new Collection();
collection.reset(results);
var model = collection.pop();
console.log(JSON.stringify(model.toJSON());