2

私はAngularJSにかなり慣れていないので、これが本当に達成できるかどうかわかりません。カスタム ディレクティブ テンプレート内でこの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.

ディレクティブ属性を文字列ではなく数値に評価する方法はありますか?

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 に答える