我在嘗試隨機化集合中對象的順序時遇到問題。Backbone.js如何洗牌集合中的項目
下面是我試過的代碼:
console.log(this.collection);
shuffled = this.collection.shuffle();
console.log(shuffled);
而這裏的控制檯輸出(使用測試集有3項):
child {models: Array[3], length: 3, _byId: Object, url: "/myurl/myid", _listenerId: "l7"…}
_byId: Object
_events: Object
_idAttr: "id"
_listenerId: "l7"
length: 3
models: Array[3]
__proto__: Surrogate
[child, child, child]
0: child
1: child
2: child
length: 3
__proto__: Array[0]
正如你所看到的,收藏是沒有適當的洗牌,而是創造了一個充滿討厭的孩子的新的不可用的對象。
我想要做的就是隨機化模型在集合中出現的順序,然後將其傳遞給視圖進行顯示(我創建了一個名爲「randomize」的按鈕,它需要隨機顯示集合中的項目)。我認爲這將是一件容易的事,但此時我正在考慮創建一個全新的模型並在服務器上進行洗牌。
任何幫助,非常感謝!
如果你想隨機化視圖,爲什麼把代碼放在集合而不是視圖? –
代碼封裝在視圖中,我只是在上面顯示相關部分。該集合是隨機的,然後基於隨機收集更新視圖,並保存。 – mgee245