jQuery UI 슬라이더 각도 지시문을 만들었습니다.범위 값을 변경할 때 내 jQuery Slider 각도 명령이 업데이트되지 않습니다
HTML 당신으로
<slider min="filters.price.min" max="filters.price.max" range="filters.price.range"></slider>
컨트롤러
App.controller("MainController", function ($scope, $http) {
$scope.initFilters = function() {
$scope.filters = {};
$scope.filters.price = {};
$scope.filters.price.min = 0;
$scope.filters.price.max = 0;
$scope.filters.price.range = [0, 0];
};
$scope.initFilters();
$http.get("someurl").success(function (data) {
$scope.initFilters();
$scope.filters.price = {};
$scope.filters.price.min = 0;
$scope.filters.price.max = 100;
$scope.filters.price.range = [$scope.filters.price.min, $scope.filters.price.max];
$scope.$broadcast("applyFilters");
});
});
지침
App.directive('slider', function() {
return {
restrict: 'E',
replace: true,
transclude: true,
template: "<div class='slider'></div>",
scope: {
min: "=",
max: "=",
range: "="
},
link: function (scope, element, attrs) {
$(element).slider({
range: (scope.range != undefined),
min: scope.min,
max: scope.max,
values: [scope.min, scope.max],
slide: function (event, ui) {
scope.$apply(function() {
scope.range = ui.values;
});
}
});
scope.$on("applyFilters", function() {
console.log("APPLY FILTERS:", scope);
console.log("APPLY FILTERS:", scope.min, scope.max, scope.range);
});
}
}
});
: 여기 내 코드입니다 내 코드에서 볼 수 있습니다 내 가격 슬라이더 0으로 초기화됩니다.
나는 webservice에 대한 호출을 만들고 응답을 받으면 가격 슬라이더의 최소, 최대 및 범위 값을 0- 100.
몇 가지 이유 때문에 내 슬라이더가 UI에서 0으로 유지됩니다.
이벤트 핸들러의 콘솔 로그
는 ... 올바른 값을 갖는 범위 객체 아웃제 콘솔 로그 인쇄 (비록 이상한있다, 즉 최소 = 0, 최대 = 100 범위 = 0 , 100]).
두 번째 콘솔 로그가 잘못된 값 (즉, min = 0, max = 0 및 range = [0, 0])을 인쇄합니다.
왜 이런 일이 일어 났는지 이해할 수있는 사람이 있습니까?
감사합니다,
벤 수소
장소 그 때는 대신 일단 .success를 참조하십시오. – stormec56
피들러/던지기 링크를 만들면 여기 사람들이 빨리 해결할 수 있습니다. –
나는 문제를 설명하는 plunkr을 만들었습니다. 참조 : https://plnkr.co/edit/E8sSh3Nh5F6SHLFszuWl?p=preview –