Сейчас я работаю над проектом, в котором мне нужно использовать JSlider-плагин jquery с Angularjs. Я попытался использовать этот плагин в директиве, и в директиве я поместил это в $ evalAsync, чтобы динамически присвоить значения Jslider после загрузки содержимого и до отображения страницы. То, как я сделал это указано ниже: -Angularjs: директива не работает с плагином Jslider
var sliderDirective = angular.module("sliderModule",[]);
sliderDirective.directive("slider",function(){
return {
restrict: 'AE',
replace: true,
template: '<input id="slider" name="price" type="slider" value="{{filters.price}}">',
link: function(scope, elem, attrs) {
scope.$evalAsync(function(scope){
elem.slider({
from: 0,
to: 3000,
step: 50,
smooth: true,
round: 0,
limits: false,
scale: ['$0','|','$500','|','$1,000','|','$1,500','|','$2,000','|','$2,500','|','$3,000+'],
skin: "blue",
onstatechange:function(value){
scope.filters.price = value;
}
})
})
}
}
})
Я устанавливаю значение динамически, что в настоящее время проходит в области видимости переменной ссылки функции. Но проблема в том, что слайдер не получает эти динамические значения и показывает только один указатель со значением 0. Итак, любой, у кого есть какое-то решение этой проблемы. Кроме того, есть вероятность, что я сделал неправильный способ сделать это, поэтому, пожалуйста, сделайте меня правильным в этом случае.
Вы правы. Он работал с использованием области: {values = "="} – Rohaan