Javascript 将剔除if绑定与数据绑定结合在一行中
是否有可能将敲除的if绑定与同一行中的另一个绑定相结合?如果条件为true,我只想显示并执行对div的绑定。只有当用户有权查看图表时,才会显示图表 我的图表定义非常简单:Javascript 将剔除if绑定与数据绑定结合在一行中,javascript,knockout.js,devextreme,Javascript,Knockout.js,Devextreme,是否有可能将敲除的if绑定与同一行中的另一个绑定相结合?如果条件为true,我只想显示并执行对div的绑定。只有当用户有权查看图表时,才会显示图表 我的图表定义非常简单: <div style="height:150px" data-bind="dxChart: chartSettings"></div> 我可以在dxChart绑定之前添加if绑定吗?或者在这种情况下,不可避免地要使用注释吗 <!-- ko if: hasRights --> <d
<div style="height:150px" data-bind="dxChart: chartSettings"></div>
我可以在dxChart绑定之前添加if绑定吗?或者在这种情况下,不可避免地要使用注释吗
<!-- ko if: hasRights -->
<div style="height:150px" data-bind="dxChart: chartSettings"></div>
<!-- /ko -->
因此,是的,在基于注释的绑定中包装div是解决方案之一。另一种解决方案是封装在具有if
绑定的div中。比如:
<div data-bind="if: hasRights">
<div style="height:150px" data-bind="dxChart: chartSettings">
... Elements ...
</div>
</div>
... 元素。。。
除了制作自己的结合了两者的定制绑定之外,这几乎是不可避免的。在使用ControlsDescentBindings:True的同一元素上不能有多个绑定。实际上,这是从DOM中添加/删除元素的任何绑定。“if”绑定肯定属于这一类,从名称来看,我猜dxChart也属于这一类。正如Nisarg所建议的,“可见”绑定可能会起作用,因为它只会更改css以隐藏元素,但如果隐藏还不够,则必须使用包装器元素或虚拟元素。非常感谢您的解释!
<div style="height:150px" data-bind="dxChart: chartSettings, visible: hasRights">
... Elements ...
</div>
<div data-bind="if: hasRights">
<div style="height:150px" data-bind="dxChart: chartSettings">
... Elements ...
</div>
</div>