我对AngularJS很陌生,我不确定这是否真的可以完成。我在自定义指令模板中使用this angular指令,我想从隔离的范围属性中设置它的一些属性。问题是它们中的一些似乎只接受数值,而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 :(得分:0)
在当前版本的angular 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)