Backbone.js将两个集合合二为一

时间:2014-06-11 11:18:46

标签: javascript backbone.js

在骨干或下划线中是否有任何方法可以将两个集合添加到一个集合中。我希望将两个或更多集合添加到一个集合中。基本上有两个集合

第一个集合

[
    {
        name: "Bob"
        date: "Thu Mar 29 2012"
    },
    {
        name: "James"
        date: "Fri Mar 30 2012"
    },

]

第二次收藏

[
   {
        name: "Dylan"
        date: "Fri Mar 30 2012"
    },
    {
        name: "Stanley"
        date: "Sat Mar 31 2012"
    },
]

最终期望的json

[
    {
        name: "Bob"
        date: "Thu Mar 29 2012"
    },
    {
        name: "James"
        date: "Fri Mar 30 2012"
    },
    {
        name: "Dylan"
        date: "Fri Mar 30 2012"
    },
    {
        name: "Stanley"
        date: "Sat Mar 31 2012"
    },
]

1 个答案:

答案 0 :(得分:4)

您可以add all of the models从一个集合到另一个集合:

var first = new Backbone.Collection([ { name: "Bob" }, { name: "Joy" } ]),
    second = new Backbone.Collection([ { name: "Ann" }, { name: "Tim" } ]);

second.add(first.models);
console.log(second.models); // logs all four models

您还可以使用多个Backbone.Collection methods来过滤要添加的模型:

second.add(first.where( { name: "Bob" }));

请注意,Collection的url属性通常会指示其模型的URL。在具有不同url s的集合之间移动RESTful模型不是一个好主意。