Javascript 如何将$index observable“绑定”(存储)到我的observable?
我有一个foreach绑定,在我的数据中我有一个可观察的称为Level的绑定。我如何将$index值存储在我的可观察级别中?我需要它,因为数组将转到服务器端脚本,并且我不希望在最后保留顺序Javascript 如何将$index observable“绑定”(存储)到我的observable?,javascript,knockout.js,Javascript,Knockout.js,我有一个foreach绑定,在我的数据中我有一个可观察的称为Level的绑定。我如何将$index值存储在我的可观察级别中?我需要它,因为数组将转到服务器端脚本,并且我不希望在最后保留顺序 我已经在谷歌上搜索了一段时间,但还没有找到任何相关的答案。这不是应该怎么做。您应该在填充外部列表的循环中设置Level的值,您应该在那里有一个索引,或者创建一个函数,在填充列表时执行此操作 如果您坚持,您可以创建一个执行指令的bindingHandler,并在foreach绑定开始时使用它: // JS ko
我已经在谷歌上搜索了一段时间,但还没有找到任何相关的答案。这不是应该怎么做。您应该在填充外部列表的循环中设置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来表示,如果你需要一个逻辑索引,它应该在视图模型上实现。谢谢,我刚刚想到在发布数据之前写一个设置索引的小循环。然而,你的二传装订肯定给我另一种颜色的击倒: