簡體   English   中英

如何在集合中移動模型?

[英]How can I move a model within a collection?

假設我有一個簡單的Backbone.Collection ,其中包含一些模型:

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

lib = new Library(
   [Book1, Book2, Book3, Book4, Book5, Book6]
]);

如何在集合中移動模型-例如將第五個模型移動到第二個位置? 因此,無需按模型字段進行排序,而只需手動更改排序順序即可。

注意:我簡化了模型Book1, ... 它們當然是Backbone.Model

您可以直接訪問模型數組以修改順序。 松散地基於這個問題, 將一個數組元素從一個數組位置移動到另一個數組位置 ,類似這樣的方法應該起作用:

var c = new Backbone.Collection([{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 5}]);
console.log(c.pluck("id"));

var from_ix = 4,
    to_ix = 1;
c.models.splice(to_ix, 0, c.models.splice(from_ix, 1)[0]);
console.log(c.pluck("id"));

和演示http://jsfiddle.net/nikoshr/5DGJs/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM