【发布时间】:2015-05-20 10:04:52
【问题描述】:
我在我的 html 视图中使用了 ko if 语句,它指的是一个淘汰赛 observableArray。
你可以看到my code on jsfiddle。
我很好奇为什么这行代码不起作用?
<!-- ko if: numbers()[1].value > 1 -->
如果我打印出value,我将得到我期望的值。
【问题讨论】:
-
应该是
标签: knockout.js
我在我的 html 视图中使用了 ko if 语句,它指的是一个淘汰赛 observableArray。
你可以看到my code on jsfiddle。
我很好奇为什么这行代码不起作用?
<!-- ko if: numbers()[1].value > 1 -->
如果我打印出value,我将得到我期望的值。
【问题讨论】:
标签: knockout.js
应该是<!-- ko if: numbers()[1].value() > 1 -->
因为numbers()[1].value 是一个可观察对象(每个可观察对象都是一个函数)。
在上述情况下,当考虑if: numbers()[1].value > 1 时,您将函数与 1 进行比较(始终为假)。
【讨论】:
你应该在“value”之后使用括号,因为“value”是一个可观察的并且你想使用它的内容:
<!-- ko if: numbers()[1].value() > 1 -->
【讨论】:
这是一种方法
<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>
【讨论】: