2013-05-08 29 views
2

我有一个网格,我希望第一行不显示。我有以下标签来完成此操作:

<div data-bind="visible: $index">....</div> 

不幸的是,我没有看到style =“display:none;”在标签中显示,果然,div显示。

顺便说一句,我也试过这一点,它没有工作之一:

<div data-bind="style: { display: $index ? 'block' : 'none' }">....</div> 

我必须失去了一些东西很简单。任何帮助在这里将不胜感激。

+0

你能发布完整的网格html代码吗? – 2013-05-08 20:46:12

回答

8

$index是一个可观察的,所以现在你的绑定只是检查函数是否未定义或为空,这导致了真正的...因此,你总是看到第一行。改变你的绑定:

<div data-bind="visible: $index() > 0">....</div> 
+0

感谢您的回复。我可以发誓,我在Knockout文档中看到可见的是能够以不同方式处理命令,并且我不必指定该功能。以下是我使用 'style:{display:$ index()> 0? 'block':'none'}' – 2013-05-16 13:06:54

+0

@MikeHomol当你需要返回并检查存储在你的observable中的值作为表达式的一部分时,你必须指定括号,例如在这种情况下的布尔表达式。 – 2018-02-22 02:13:14

0

好吧,看起来像这个问题是一个单独的脚本,为这个div中设置的类之一设置不透明度为1。所以我不得不将类添加到数据绑定。