很简单的问题。

假设我的view()中有以下HTML:

<a id="btnXYZ" class="" data-bind="click: editAction">Button</a>


如果单击,将执行editAction的简单锚标记。

现在,如果我有这样的事情:

<a id="btnXYZ" class="" data-bind="click: editAction, if: isOwner(ref)">Button</a>


假设isOwner(ref)计算结果为true,我看到没有文本的锚点。不好。

预期结果将与之前相同(第一个示例)。

现在让我们说我有这样的事情:

<div class="">
    <a id="btnX" class="" data-bind="click: editAction, if: isOwner(ref)">Button</a>
    <a id="btnY" class="" data-bind="click: editAction, if: isOwner(ref)">Button</a>
    <a id="btnZ" class="" data-bind="click: editAction, if: isOwner(ref)">Button</a>
</div>


与以前相同,如果isOwner(ref)计算为true,请参见空锚标记。

题:
如何绑定if: isOwner()来管理按钮的可见性?


如果isOwner(ref)评估为true,我应该看到正确的链接/按钮
如果isOwner(ref)评估为false,我应该根本看不到任何链接/按钮

最佳答案

您可以使用virtual elements来实现:

<!-- ko if: isOwner(ref) -->
    <a id="btnXYZ" class="" data-bind="click: editAction">Button</a>
<!-- /ko -->


另外,如果您愿意,可以显示完全不同的内容,例如:

<!-- ko ifnot: isOwner(ref) -->
    whatever you want
<!-- /ko -->

08-19 05:28