我在我的html視圖中使用了ko if
語句,該語句引用了knockout的observableArray。在if條件中使用observableArray元素
你可以看到my code on jsfiddle。
我很好奇爲什麼這行代碼不工作?
<!-- ko if: numbers()[1].value > 1 -->
如果我打印出來的value
,我得到我的預期值。
我在我的html視圖中使用了ko if
語句,該語句引用了knockout的observableArray。在if條件中使用observableArray元素
你可以看到my code on jsfiddle。
我很好奇爲什麼這行代碼不工作?
<!-- ko if: numbers()[1].value > 1 -->
如果我打印出來的value
,我得到我的預期值。
應該<!-- ko if: numbers()[1].value() > 1 -->
因爲numbers()[1].value
是一個可觀察(每個observable是一個函數)。
在上述情況下,當考慮到if: numbers()[1].value > 1
時,您正在比較函數與1(始終爲false)。
後的「價值」應該使用括號,因爲「值」是可觀察到的,你要使用它的內容:
<!-- 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>
它應該是<! - ko if:numbers()[1] .value()> 1 - > –