値を直接入力するための入力フィールドを持つ範囲スライダーを作成したい (jQM のように: http://demos.jquerymobile.com/1.4.4/slider/ )。
私のディレクティブは次のようになります。
app.directive("mySlider", [function () {
return {
restrict: "E",
replace: true,
scope: {
id: "@?",
min: "@",
max: "@",
step: "@?",
value: "=ngModel"
},
template: "" +
"<div class='my-sliderWrap'>" +
"<input type='number' min={{min}} max={{max}} step={{step}} value={{value}} ng-model=value>" +
"<input type='range' min={{min}} max={{max}} step={{step}} value={{value}} ng-model=value>" +
"</div>",
link: function ($scope, $element, $attrs) {
//some logic here
}
}
}]);
これは、数値入力の値を変更するときにうまく機能します。スライダーが移動し、両方の値属性が更新されます。スライダーを直接動かすとすぐに、両方の値属性が更新されますが、数値入力のテキストが何らかの理由でクリアされ、最小値に設定されます。
テンプレート内またはデータ バインディングで間違いを犯しましたか?