Data binding 如果需要,请单击并显示绑定
非常简单的问题 假设我的视图中有此HTML(): 假设Data binding 如果需要,请单击并显示绑定,data-binding,knockout.js,conditional,visibility,Data Binding,Knockout.js,Conditional,Visibility,非常简单的问题 假设我的视图中有此HTML(): 假设isoowner(ref)的计算结果为true,我看到的锚没有文本。不太好 预期结果与之前相同(第一个示例) 现在让我们假设我有这样的东西: <a id="btnXYZ" class="" data-bind="click: editAction, if: isOwner(ref)">Button</a> <div class=""> <a id="btnX" class="" data-b
isoowner(ref)
的计算结果为true,我看到的锚没有文本。不太好
预期结果与之前相同(第一个示例)
现在让我们假设我有这样的东西:
<a id="btnXYZ" class="" data-bind="click: editAction, if: isOwner(ref)">Button</a>
<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()以管理按钮可见性 i、 e.
如果
isOwner(ref)
评估为true
我应该看到一个正确的链接/按钮如果
isOwner(ref)
的计算结果为false
我应该看不到任何链接/按钮您想要使用绑定。这将显示和隐藏整个元素,而if
绑定只控制元素的内容
给你
但是在这种情况下,我会选择@Vladimirs answer,因为您可以将虚拟元素包装在所有3个按钮上,而不是单独绑定它们。您可以使用以下方法实现:
<!-- ko if: isOwner(ref) -->
<a id="btnXYZ" class="" data-bind="click: editAction">Button</a>
<!-- /ko -->
按钮
此外,如果需要,您可以显示完全不同的内容,例如:
<!-- ko ifnot: isOwner(ref) -->
whatever you want
<!-- /ko -->
随便你
事实上,可见性
将不允许我从视图中执行isOwner()。不知道我怎么会没有想到这一点。我太累了(想不起来)。非常感谢。
<!-- ko ifnot: isOwner(ref) -->
whatever you want
<!-- /ko -->