Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js如何在集合中洗牌项目_Backbone.js_Collections_Model_Shuffle - Fatal编程技术网

Backbone.js如何在集合中洗牌项目

Backbone.js如何在集合中洗牌项目,backbone.js,collections,model,shuffle,Backbone.js,Collections,Model,Shuffle,我在尝试随机化集合中对象的顺序时遇到问题 以下是我尝试过的代码: console.log(this.collection); shuffled = this.collection.shuffle(); console.log(shuffled); 下面是控制台输出(使用包含3项的测试集合): 如您所见,集合没有被正确地洗牌,而是创建了一个新的无法使用的对象,其中充满了讨厌的子对象 我所要做的就是在将模型传递到视图进行显示之前,将模型在集合中的显示顺序随机化(我正在创建一个名为“随机化”的按钮,

我在尝试随机化集合中对象的顺序时遇到问题

以下是我尝试过的代码:

console.log(this.collection);
shuffled = this.collection.shuffle();
console.log(shuffled);
下面是控制台输出(使用包含3项的测试集合):

如您所见,集合没有被正确地洗牌,而是创建了一个新的无法使用的对象,其中充满了讨厌的子对象

我所要做的就是在将模型传递到视图进行显示之前,将模型在集合中的显示顺序随机化(我正在创建一个名为“随机化”的按钮,该按钮需要随机化集合中项目的显示)。我认为这将是一项简单的任务,但在这一点上,我正在考虑创建一个全新的模型,并在服务器上进行洗牌


非常感谢您的帮助

如果你想随机化视图,为什么要将代码放在集合中而不是视图中?代码封装在视图中,我只是展示了上面的相关部分。集合是随机化的,然后根据随机化的集合更新视图,并保存。完美!这就成功了。。。我现在去看看.reset函数。非常感谢!这太棒了。是否希望这是主干网实现u.shuffle的默认行为
console.log(this.collection);
this.collection.reset(this.collection.shuffle(), {silent:true});
console.log(this.collection);
console.log(this.collection);
this.collection.reset(this.collection.shuffle(), {silent:true});
console.log(this.collection);