我在我的html视图中使用ko if
语句,该语句引用了一个knockout observableArray。
您可以看到my code on jsfiddle。
我很好奇为什么这行代码不起作用?
<!-- ko if: numbers()[1].value > 1 -->
如果我打印出value
,我就会得到我期望的价值。
答案 0 :(得分:3)
它应该是<!-- ko if: numbers()[1].value() > 1 -->
因为numbers()[1].value
是一个 observable (每个observable都是一个函数)。
在考虑if: numbers()[1].value > 1
的上述情况下,您将函数与1进行比较(始终为false)。
答案 1 :(得分:1)
你应该在“value”之后使用括号,因为“value”是一个可观察的,你想要使用它的内容:
<!-- ko if: numbers()[1].value() > 1 -->
答案 2 :(得分:0)
这是单程
<h4>Numbers</h4>
<button data-bind="click: add">Add</button>
<input id="myid" data-bind="value: numbers()[1].value"></input>
<!-- ko foreach: numbers -->
<!-- ko if: $index() == 1-->
<div data-bind="text: value">
</div>
<!-- /ko -->
<!--/ko-->
<span data-bind="text: sum"></span>