JavaScript   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了knockout.js – Knockout“if”绑定不能用于可排序列表中的表达式?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是遇到了使用Knockout和Knockout-sortable插件制作的To-do-like sortable列表的另一个问题.

我需要在当前时间放置的元素下放置一个红色分隔符,如果在该分隔符之前删除了一个元素,则取消排序.

我尝试使用“可见”绑定,它以某种方式工作,但是visibile绑定只是隐藏了DOM元素,它搞乱了可排序的arrayIndex,为它添加了不必要的元素.

@H_772_6@<div class="delimiter" data-bind="visible: time() == $root.limit()"></div>

“if”绑定会更好,因为它只在必要时插入DOM元素,但我用于visible的表达式总是被评估为true,我无法弄清楚为什么……

@H_772_6@<div class="delimiter" data-bind="if: time() == $root.limit()"></div>

这是小提琴:http://jsfiddle.net/ingro/VaqqF/

任何帮助表示赞赏,谢谢!

解决方法

你只是误解了if-binding:它删除了它所应用的节点的内容,而不是节点本身.如果要在不创建包装的情况下删除节点(可以用来添加绑定),还有if-binding的注释版本,称为无容器控制流语法: @H_772_6@<!-- ko if: time() == $root.limit() --> <div class="delimiter"></div> <!-- /ko -->

http://jsfiddle.net/VaqqF/11/

http://knockoutjs.com/documentation/if-binding.html

大佬总结

以上是大佬教程为你收集整理的knockout.js – Knockout“if”绑定不能用于可排序列表中的表达式?全部内容,希望文章能够帮你解决knockout.js – Knockout“if”绑定不能用于可排序列表中的表达式?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。