2

我对 AngularJS 很陌生,我不确定这是否能真正实现。我在自定义指令模板中使用这个角度指令,我想从隔离范围属性中设置它的一些属性。问题是它们中的一些似乎只接受数值,而 Angular 将它们评估为字符串。

例如,这按预期工作:

<div slider ng-model="myModel" start=0 end=10 step=1></div>

我希望能够从一个孤立的范围属性设置开始/结束/步骤属性,如下所示:

<div slider ng-model="myModel" start={{attributes.range[0]}} end={{attributes.range[1]}} step={{attributes.step}}></div>

这解释如下:

<div ng-model="myModel" start="0" end="10" step="1" class="ng-isolate-scope ng-pristine ng-valid"></div>

我得到以下异常:

RangeError: noUiSlider: 'range' value isn't numeric.

有没有办法将指令属性评估为数字而不是字符串?

4

1 回答 1

0

在当前版本的 angular nouislider (v 0.3.1) 中,您可以通过在源代码中使用更多 parseFloats 来解决此问题。它被另一个用户列为不同问题的问题。这是链接,但如果链接失效,我将代码放在下面。

slider.noUiSlider({
          start: [
            scope.ngFrom || scope.start,
            scope.ngTo || scope.end

应该

slider.noUiSlider({
          start: [
            parseFloat(scope.ngFrom) || parseFloat(scope.start),
            parseFloat(scope.ngTo) || parseFloat(scope.end)
于 2015-01-13T14:47:05.853 回答