collections - 将数组的数组转换为模型的 Backbone 集合

标签 collections backbone.js coffeescript models

Backbone 的新手,在这里给 js 加下划线。

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

好像是

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

第二层数组是 Backbone 模型中的内容。现在,我有

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

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

最佳答案

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

[{ 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
});

然后只需将属性哈希数组传递给重置方法:

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());

关于collections - 将数组的数组转换为模型的 Backbone 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11478815/

相关文章:

javascript - @$el 的主干到底是什么?

java - Map.of() 与 Collections.emptyMap()

java - 如何从队列中获取特定元素?

backbone.js - 为什么行为不允许动态传递?

javascript - 主干模型在错误验证时设置值

javascript - CoffeeScript 中的 function.call

kotlin - 当 contains() 接受 E 时,Kotlin 的 Set 如何是协变的?

java - 基于复杂匹配键的多个属性分组和聚合

javascript - 扩展 Parse.User

javascript - CoffeeScript Promise 中的 for 循环