Я использую Popsugar AngularJS slider.Как связать событие AngularJS с ползунком PopSugar?
В документации говорится, что есть входные элементы (например, mouseup/mousedown).
Как связать функцию со слайдером в AngularJS?
Я использую Popsugar AngularJS slider.Как связать событие AngularJS с ползунком PopSugar?
В документации говорится, что есть входные элементы (например, mouseup/mousedown).
Как связать функцию со слайдером в AngularJS?
Теперь, чтобы сделать это, добавьте dragstop="true"
к элементу, затем убедитесь, что у вас есть наблюдатель от значений (-ов) слайдера. Это обеспечит, чтобы слайдер не обновлял значения, пока пользователь не отпустит ручку
Этот ответ поставил меня на правильную дорожку при использовании этого. Я, однако, использовал его в ng-repeat, который представлял собой немного сложную задачу. Вот как я решил, что (в случае, если кто-то другой также использует его таким образом):
.directive('slider', function(){
return {
restrict: 'E',
link: function($scope) {
$scope.$watch('yourmodel.value', function(newValue, oldValue) {
if(newValue !== oldValue){
console.log('slider value changed');
}
});
}
};
});
В моем случае я не пытался узурпировать власть ползунка. Просто захотелось обновить базу данных при смещении значения. Для этого хорошо справлялся с директивой.
Они обновили библиотеку, чтобы добавить изменения обратного вызова: https://github.com/PopSugar/angular-slider
Вы можете использовать его как это:
<slider floor="0" ceiling="100" step="1" ng-model="percent" change="onSliderChange(percent)"></slider>