Невозможно вызвать API при изменении раскрывающегося списка для таблицы данных Angular и обновить текущие данные

Я использую An Angular Datatable, что я хочу, после изменения раскрывающегося списка мне нужно вызвать API, получить последние данные и добавить их в текущую таблицу данных. Я попытался уничтожить() метод, но он не работает с первым раскрывающимся изменением, после чего он работает нормально, но не передает недавно выбранную дату в API вместо того, чтобы передавать второе последнее выбранное значение на вход API


person Prashant Pimpale    schedule 17.05.2018    source источник


Ответы (1)


Вы можете добиться этого с помощью наблюдателя. Предположим, что вы определили ng-модель для раскрывающегося списка как «selectedValue», а dataTable — это массив, которым заполняются данные таблицы.

$scope.$watch('selectedValue', function(newValue, oldValue){
  if (newValue !== oldValue){
   //Make API call based on selected value and append it to array.
   dataTable.append(result);
  }
});

После каждого изменения раскрывающегося списка будет вызываться наблюдатель выше.

person NK06    schedule 17.05.2018
comment
Проблема в том, что -> Существует раскрывающийся список, который содержит такие значения, как Apple, PineApple, Grapes, поэтому, если я сначала нажимаю на Apple, вызывается API, но значение не определено, после этого я нажимаю на Grapes, API вызывается со значением Apple это главная проблема. Должен ли я поделиться своим кодом? N в настоящее время использует Angular версии 4 - person Prashant Pimpale; 17.05.2018
comment
Используйте newValue в качестве параметра при вызове API вместо oldValue. Вы также можете использовать другой синтаксис наблюдателя. $scope.$watch('selectedValue', function(value){ if(value){ //Вызов API на основе выбранного значения и добавление его в массив. dataTable.append(result); } }); - person NK06; 17.05.2018
comment
Нужно больше объяснений - person Prashant Pimpale; 17.05.2018