У меня есть несколько слайдеров в приложении angularJS. То, что я пытаюсь достичь, - это когда пользователь меняет параметр в раскрывающемся списке выбора, ползунки должны получать обновление с новыми значениями из RestAPI.Force update на ползунах rzModule в AngularJS
Этот пример предназначен для одного из ползунков, но остальное то же самое.
Создание бегунок на контроллере
myCtrl.ageSlider = {
value: 17,
options: {
showSelectionBar: true,
ceil: 38,
hideLimitLabels: true,
floor: 17,
onChange: myCtrl.getResults,
getPointerColor: function(value) {
return '#FFCF00'
},
getSelectionBarColor: function(value) {
return '#FFCF00'
}
}
};
Функция обновления на контроллер, который называется на нг-изменения выберите
myCtrl.updateSliders = function() {
//other sliders here that don't need a call on API
StaffServices.getMedic(myCtrl.selected.id,
function(response) {
myCtrl.ageSlider.value = parseInt(response.data.age);
myCtrl.getResults();
},
function(response) {
console.log('Something went wrong on medic process');
});
}
и функция getResults()
которой вызов службы
myCtrl.getResults = function() {
myCtrl.results = myService.myUpdatesCalc(passSomeValues);
}
Когда я вручную изменяю слайдер от пользователя interfa ce, onChange запускает функцию getResults
. Тратить часы на это и не может найти причину. Любая помощь?
Edit: Это услуга getMedic
, чтобы избежать путаницы
service.getMedic = function(id, onSuccess, onError) {
$http.get(API_Base + 'api/staff/medic?id='+id,
{
headers: { 'Authorization': 'Bearer '+$cookies.get('token')}
}).
then(function(response) {
onSuccess(response);
}, function(response) {
onError(response);
});
}
Я обновил свой вопрос. Как вы можете видеть, я делаю то, что вы описали в служебном файле. – Tasos
поэтому 'myUpdatesCalc' не возвращает обещание, а не $ http-звонки? – CozyAzure
№ Это простая функция JS с несколькими математическими вычислениями. Нет $ http – Tasos