Javascript 如何将$index observable“绑定”(存储)到我的observable?

Javascript 如何将$index observable“绑定”(存储)到我的observable?,javascript,knockout.js,Javascript,Knockout.js,我有一个foreach绑定,在我的数据中我有一个可观察的称为Level的绑定。我如何将$index值存储在我的可观察级别中?我需要它,因为数组将转到服务器端脚本,并且我不希望在最后保留顺序 我已经在谷歌上搜索了一段时间,但还没有找到任何相关的答案。这不是应该怎么做。您应该在填充外部列表的循环中设置Level的值,您应该在那里有一个索引,或者创建一个函数,在填充列表时执行此操作 如果您坚持,您可以创建一个执行指令的bindingHandler,并在foreach绑定开始时使用它: // JS ko

我有一个foreach绑定,在我的数据中我有一个可观察的称为Level的绑定。我如何将$index值存储在我的可观察级别中?我需要它,因为数组将转到服务器端脚本,并且我不希望在最后保留顺序


我已经在谷歌上搜索了一段时间,但还没有找到任何相关的答案。这不是应该怎么做。您应该在填充外部列表的循环中设置Level的值,您应该在那里有一个索引,或者创建一个函数,在填充列表时执行此操作

如果您坚持,您可以创建一个执行指令的bindingHandler,并在foreach绑定开始时使用它:

// JS
ko.bindingHandlers.setter = {
    init: function(element, valueAccessor) {
        valueAccessor();
    }
}

// HTML
<div data-bind="foreach: list">
    <span data-bind="setter: Level($index())"></span>
    ... the rest of the code ...
</div>
但这不是一个好主意。当可观察数组发生变化时,foreach绑定将再次运行,并且不能保证Level的值保持不变


演示:@manji没关系,我知道如何设置可观测值。但是我应该把它放在哪里呢?你能写几行foreach绑定的示例吗?你应该只使用$index来表示,如果你需要一个逻辑索引,它应该在视图模型上实现。谢谢,我刚刚想到在发布数据之前写一个设置索引的小循环。然而,你的二传装订肯定给我另一种颜色的击倒: