我使用foreach数据绑定绑定模板。在模板$ index中返回一个值。另外,我写的ko.computed函数返回一个数字(数组的长度-1)。这两个数字似乎都是有效的,但是当我检查它们是否相等时,它总是返回false。
计算函数代码:
this.lastIndex = ko.computed(function () {
return parent ? parent.whereClauses().length - 1 : 0;
});
显示结果的代码:
<div>
<pre data-bind="text: ko.toJSON($index, null, 2)"></pre>
<pre data-bind="text: ko.toJSON(lastIndex, null, 2)"></pre>
<pre data-bind="text: ko.toJSON($index != lastIndex, null, 2)"></pre>
</div>
输出:
<div>
<pre data-bind="text: ko.toJSON($index, null, 2)">1</pre>
<pre data-bind="text: ko.toJSON(lastIndex, null, 2)">1</pre>
<pre data-bind="text: ko.toJSON($index === lastIndex, null, 2)">false</pre>
</div>
答案 0 :(得分:0)
您需要调用函数:
<div>
<pre data-bind="text: ko.toJSON($index(), null, 2)"></pre>
<pre data-bind="text: ko.toJSON(lastIndex(), null, 2)"></pre>
<pre data-bind="text: ko.toJSON($index() != lastIndex(), null, 2)"></pre>
</div>
或者您正在比较函数引用。