2017-01-06 13 views
0

私のHTMLコードはmd-sliderMD-スライダーがそのモデル値がコントローラから更新されたときに更新されない

<body ng-app="ABC"> 

    <div class="ctrl" ng-controller="mainCtrl"> 

    <md-slider ng-model="threshold" md-discrete min="1" max="100" aria-label="threshold"></md-slider> 

    </div> 
</body> 

が含まれています以下は、これは私のコントローラです、コントローラでthresholdが更新されます。しかし、コントローラのthresholdを変更すると、スライダの位置は変わりません。私は20から60までthreshold値を変更し、私はconsole.log($scope.threshold)を使用する場合、例えば、表示される値は60になりますが、md-sliderは20

localStorage.getItem("myExtThreshold")戻る有効な数値のままです。

+0

「myExtThreshold」は、この単一値またはローカル記憶域のオブジェクトですか? –

+0

1から100の範囲の単一の数値です。console.logとそれは正しい値です。私はまたそれをしきい値に割り当てた後にconsole.logを更新し、しきい値は更新されます。スライダを新しい位置に移動させるだけではありません。 –

答えて

1

コントローラでこれを試してください。もちろん、あなたのコードに間違いはありません。戻り値を数値にするだけです。

$scope.threshold = JSON.parse(localStorage.getItem("myExtThreshold")) 
+0

助けがあれば受け入れてください。だから、他の人がこの質問を見るとより良い解決策に行くことができます –

+0

私の驚きには、それは働いています。ありがとうございました!しかし、私はそれを得ていませんでした。 JSON.parseは数値よりもむしろJSONオブジェクトにしますか? –

+1

JSON.parse()の値が "123"のような文字列番号、または "真"のようなブール値の場合、それらは '123'や' true'のようなプリミティブ型に変換されます –

関連する問題