首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Knockout "if“绑定不适用于可排序列表中的表达式?

Knockout "if“绑定不适用于可排序列表中的表达式?
EN

Stack Overflow用户
提问于 2012-06-14 18:18:49
回答 1查看 15.2K关注 0票数 7

我用Knockout和Knockout-sortable插件制作的待办事项排序列表遇到了另一个问题。

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

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

代码语言:javascript
复制
<div class="delimiter" data-bind="visible: time() == $root.limit()"></div>

" if“绑定会更好,因为它只在必要时插入DOM元素,但我对visible使用的表达式总是计算为true,我不知道为什么……

代码语言:javascript
复制
<div class="delimiter" data-bind="if: time() == $root.limit()"></div>

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

感谢您的帮助,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-14 18:32:30

您只是误解了if-binding:它删除了应用它的节点的内容,而不是节点本身。如果要删除节点而不创建包装器(可用于添加绑定),还可以使用If绑定的注释版本,称为无容器控制流语法

代码语言:javascript
复制
<!-- ko if: time() == $root.limit() -->
  <div class="delimiter"></div>
<!-- /ko -->

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

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

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11031057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档