1

我在这里放了一个小提琴来展示我的错误。

它是一个基于colResizable插件的多滑块。我遇到的问题是我需要用 ng-show 显示它,如果最初没有显示它会错误地呈现它。

$scope.show = false; //initially set to false in controller


<div class="row" ng-show="show">
    <multirangeslider values="ranges" variances="variances" class="multislider-container row"></multirangeslider>
...

请看小提琴(最初不起作用)。当您将显示值更改为 true 时,它​​会起作用并且没有意义。为什么?我该如何解决?

4

1 回答 1

1

jQuery 无法计算隐藏元素的宽度(或高度)。colResizable 插件使用 jQuery 的outerWidth函数并从中取零。有很多方法可以解决这个问题——最简单的是使用visible样式(你可以写一个 ngVisible 指令):http: //jsfiddle.net/5u6Ls/5/

或者,您可以做一些疯狂的事情,例如尝试并监视您的元素何时可见,然后应用 colResizable 插件,或者在 SO 上也有许多解决方法:

于 2013-05-07T05:44:42.930 回答