iim*_*nov 4 data-binding conditional visibility knockout.js
很简单的问题.
假设我在我的视图()中有这个HTML:
<a id="btnXYZ" class="" data-bind="click: editAction">Button</a>
Run Code Online (Sandbox Code Playgroud)
editAction单击时将执行的简单锚标记.
现在,如果我有这样的事情:
<a id="btnXYZ" class="" data-bind="click: editAction, if: isOwner(ref)">Button</a>
Run Code Online (Sandbox Code Playgroud)
让我们说isOwner(ref)评估为真,我看到锚没有文字.不好.
预期结果与之前相同(第一个例子).
现在让我说我有这样的事情:
<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>
Run Code Online (Sandbox Code Playgroud)
与之前相同,如果isOwner(ref)求值为true,请参阅空锚标记.
问题:
如何绑定if: isOwner()管理按钮可见性?
即
如果isOwner(ref)评估true我应该看到一个正确的链接/按钮,
如果isOwner(ref)评估false我应该看到根本没有链接/按钮
您可以使用虚拟元素来实现:
<!-- ko if: isOwner(ref) -->
<a id="btnXYZ" class="" data-bind="click: editAction">Button</a>
<!-- /ko -->
Run Code Online (Sandbox Code Playgroud)
此外,如果你想要你可以显示完全不同的东西,如:
<!-- ko ifnot: isOwner(ref) -->
whatever you want
<!-- /ko -->
Run Code Online (Sandbox Code Playgroud)