2014-07-16 51 views
2

我對AngularJS來說很新穎,我不確定這可以真正實現。我在自定義指令模板中使用了this角度指令,我想從隔離的作用域屬性中設置它的一些屬性。事情是,它似乎有些只接受數值,而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. 

是否有一種方法來評估指令屬性數字而不是字符串?

+0

你找到這個問題的答案?我有同樣的問題。 – gin93r

+1

@Veo你自己找到答案:)確實。我也必須修改源代碼。 – jarandaf

+0

哈哈。嗨,感謝@ jarandaf的回覆! 6個月後! – gin93r

回答

0

在當前版本的角度nouislider(v 0.3.1)中,您可以通過在源代碼中使用更多parseFloats來解決此問題。它被另一個用戶列爲另一個問題的問題。 Here's the link但如果鏈接死了,我已經把代碼放在下面。

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)