gpt4 book ai didi

javascript - 如何确保集合中创建的 Backbone 模型的正确顺序?

转载 作者:行者123 更新时间:2023-12-04 14:48:43 25 4
gpt4 key购买 nike

我在文件列表中的特定索引处异步上传文件(使用 FormData):

files.create({position: index + 1 }, {at: index}); // files is Backbone.Collection

然后服务器会保存上传文件,并在特定位置之后移动文件的位置,以便为新插入的文件腾出位置。

然后在客户端上我监听添加事件并使用选项中的索引来插入文件 View 。

files.on("add", function(model, collection, options) {
// insert file view at options.index position
})

我还更新了集合中所有模型的 position 属性:

files.on("add remove", function(){ 
this.each(function(m, index) {
m.set({position: index + 1});
})
});

问题是当我在同一个索引位置同时上传多个文件时,文件 View 以错误的顺序附加到列表中。

如何确保 Backbone 集合中文件模型的顺序和position属性正确?

最佳答案

不要使用 javascript 来源的位置,而是使用服务器生成的 ID,例如 unix 时间戳,并且由于建议 mu 太短,请使用

对您的集合进行排序
comparitor: function() { 
return -this.timestamp // negative ensures latest items show up on top, and olders at the bottom
}

如果你需要更具体的排序,你总是可以以太坊去更细粒度的微时间,或者简单地生成一个增量 id 服务器端。

关于javascript - 如何确保集合中创建的 Backbone 模型的正确顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13600294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com