angularJS アプリにいくつかのスライダーがあります。私が達成しようとしているのは、ユーザーが選択ドロップダウンのオプションを変更すると、スライダーは RestAPI から新しい値で更新されるはずです。
この例はスライダーの 1 つですが、残りは同じです。
コントローラーにスライダーを作成する
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'
}
}
};
選択の ng-change で呼び出されるコントローラーの更新関数
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);
}
ユーザー インターフェイスから手動でスライダーを変更すると、onChange がgetResults
関数を起動します。これに何時間も費やし、理由を見つけることができません。何か助けはありますか?
編集:これは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);
});
}