是否有可能将Knockout的绑定与同一行中的另一个绑定结合起来?如果条件为真,我想显示并执行仅对div的绑定。如果用户有权查看图表,则只应显示图表。
我的图表定义非常简单:
<div style="height:150px" data-bind="dxChart: chartSettings"></div>
我可以在dxChart绑定之前添加if绑定吗?或者,如果在此上下文中绑定使用注释是不可避免的,就像这样?
<!-- ko if: hasRights -->
<div style="height:150px" data-bind="dxChart: chartSettings"></div>
<!-- /ko -->
答案 0 :(得分:0)
<div style="height:150px" data-bind="dxChart: chartSettings, if: hasRights">
... Elements ...
</div>
这不会影响div本身,只会影响div中包含的元素。
您可以使用visible
绑定 - 这将隐藏整个div(包括子节点),但是您可能知道,它不会阻止div添加到DOM:
<div style="height:150px" data-bind="dxChart: chartSettings, visible: hasRights">
... Elements ...
</div>
所以,是的,在基于注释的绑定(containerless control flow syntax)中包装div是其中一个解决方案。另一个解决方案是包装一个具有if
绑定的div。类似的东西:
<div data-bind="if: hasRights">
<div style="height:150px" data-bind="dxChart: chartSettings">
... Elements ...
</div>
</div>