Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将剔除if绑定与数据绑定结合在一行中_Javascript_Knockout.js_Devextreme - Fatal编程技术网

Javascript 将剔除if绑定与数据绑定结合在一行中

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

是否有可能将敲除的if绑定与同一行中的另一个绑定相结合?如果条件为true,我只想显示并执行对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 -->

因此,是的,在基于注释的绑定中包装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>