使用create时,将模型添加到Backbone集合的开头

时间:2012-09-19 10:19:11

标签: javascript backbone.js

有没有办法在集合的开头使用create和新模型,而不是在最后附加它?

2 个答案:

答案 0 :(得分:8)

Backbone将插入委托给Collection.add,这意味着您可以通过 at 选项指定位置:

var C = Backbone.Collection.extend({
    url: '/echo/json/'
})
var c= new C([
    {name: 1},
    {name: 2},
    {name: 3}
]);

c.create({name: 4}, {at: 0});
console.log(c.pluck('name'));

将产生[4,1,2,3]

小提琴http://jsfiddle.net/nikoshr/p6fNR/

答案 1 :(得分:3)

注意:现在您可以使用unshift

var ships = new Backbone.Collection;

ships.unshift([
  {name: "Flying Dutchman"},
  {name: "Black Pearl"}
]);