使用 Chrome 进行调试时,我可以看到 CoverPrices 有 9 个元素。 foreach 循环实际上运行良好,并且表看起来正确,第一个跨度正确绑定到 Item1。
但是,if 绑定不起作用并且两个图像都会显示。然而,Item2 中的所有元素都具有真实值,因此只应显示第一个图像。
<!-- ko foreach: CoverPrices -->
<tr>
<td>
<span data-bind="text: Item1"></span>
</td>
<!-- ko foreach: Item2 -->
<td>
<img src="~/Images/yes.png" alt="oui" data-bind="if: $data" />
<img src="~/Images/no.png" alt="non" data-bind="ifnot: $data" />
</td>
<!-- /ko -->
</tr>
<!-- /ko -->
我的绑定有问题吗?
The if-binding
不影响整个元素,但它的content。并且因为一个img
元素没有内容,绑定无关紧要。
这将起作用,与span
作为容器元素:
<span data-bind="if: $data"><img src="~/Images/yes.png" alt="oui" /></span>
<span data-bind="ifnot: $data"><img src="~/Images/no.png" alt="non" /></span>
还有一个无容器语法 http://knockoutjs.com/documentation/if-binding.html,如果您不需要附加元素:
<!-- ko if: $data -->
<img src="~/Images/yes.png" alt="oui" />
<!-- /ko -->
<!-- ko ifnot: $data -->
<img src="~/Images/no.png" alt="non" />
<!-- /ko -->
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)