Javascript 如何使用Knockout sortable跟踪排序索引?

Javascript 如何使用Knockout sortable跟踪排序索引?,javascript,knockout.js,Javascript,Knockout.js,我使用拖放/排序表中的记录,但遇到了一个问题。我不知道如何跟踪元素排序索引中的位置。(即元素A、B和C按该顺序出现,并分别以1,2,3作为索引,但如果B降到A以上,则正确的索引将为2,1,3) 我的代码中没有自定义项:我只包含了knockout sortable,它是即插即用的。我通常都会包含一个代码片段,但我觉得这没什么用。我知道的唯一一件事是,我可能需要一个ko.computed(),但我不知道用什么填充它。如果您查看示例,您可以看到插件通过更新可观察的数据数组来工作。因此,您不必跟踪索引值

我使用拖放/排序表中的记录,但遇到了一个问题。我不知道如何跟踪元素排序索引中的位置。(即元素A、B和C按该顺序出现,并分别以1,2,3作为索引,但如果B降到A以上,则正确的索引将为2,1,3)

我的代码中没有自定义项:我只包含了knockout sortable,它是即插即用的。我通常都会包含一个代码片段,但我觉得这没什么用。我知道的唯一一件事是,我可能需要一个
ko.computed()
,但我不知道用什么填充它。

如果您查看示例,您可以看到插件通过更新可观察的数据数组来工作。因此,您不必跟踪索引值。从技术上讲,记录的顺序为您提供了所需的所有信息


尽管如此,我在去年遇到了同样的问题。为了解决我的问题,我在可观察数组中的每个对象上添加了一个连续编号的索引属性。然后,当可排序插件重新排列可观察数组的内容时,我只需要读取新的索引属性就可以知道排序顺序

如果您的对象需要一个包含索引的好属性,那么请查看以下问题的答案:。通过使用答案中创建的
索引
扩展,您的项目将自动保持其索引最新。