淘汰赛:如果绑定回调不起作用

Knockout: If binding callback not working

我有一个简单的敲除组件,但我的 if 绑定不起作用,我不知道为什么。

我的模板如下:

<!-- ko if (getAlcContent($parent) > 0) -->
<div class="detail details-alc-content">
    <span class="value">
        <span data-bind="text: getAlcContent($parent)"></span>% Vol. Alc.
    </span>
</div>
<!-- /ko -->

我的组件:

/* ... */

getAlcContent: function(quoteItem) {
    var item = this.getItem(quoteItem.item_id);
    return item && parseFloat(item.alc_content) ? item.alc_content : undefined;
},

/* ... */

但是 div.detail 总是呈现,即使我返回 undefined。我也试过 false0getAlcContent($parent) > 0.

为什么会这样? 在淘汰赛页面上,它表示任何计算结果为 true 或 truish 的表达式,这里就是这种情况。

这里有错字,试试

<!-- ko if: getAlcContent($parent) > 0 -->