我有一个foreach
绑定,在我的数据中,我有一个名为Level
的可观察对象。如何将$index
值存储在我的Level observable中?我需要它,因为数组转到服务器端脚本,我不希望订单最终会被保留。
我已经谷歌搜索了一段时间,但还没有找到任何相关的答案
答案 0 :(得分:0)
不应该怎么做。你应该在填充外部列表的循环中设置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
的值不能保证保持不变。