Данные AngularJS не обновляются до второго нажатия кнопки - PullRequest
1 голос
/ 19 июня 2019

Я хочу добавить jQuery datatable с помощью AngularJS.

 $scope.SearchData = function () {
        var myData = new Object();
        myData.EmployeeCode = $("#Person").val();


        $http.post("/admin/GetData", myData)
            .then(function (response) {
                $scope.itemData = response.data.Initiator;
                $('#dtBasicExample').DataTable();
            });
    };

Я использую этот поиск данных.Это работает после второго нажатия кнопки.

1 Ответ

1 голос
/ 19 июня 2019

я думаю, что это проблема наблюдателей, используйте setTimeout и , примените , чтобы исправить это:

 myApp.controller('myController', function($scope, $timeout){ // just example

  $timeout(()=>{
     $('#dtBasicExample').DataTable();
   })

или

 setTimeout(()=>{
     $('#dtBasicExample').DataTable();
     $scope.$apply(); //this triggers a $digest
   })

Угловое имеетнет способа узнать, что вы можете изменить.В этом случае вы обязаны вручную вызывать $ apply (), что запускает цикл $ digest.

Аналогично, если у вас есть директива, которая устанавливает прослушиватель событий DOM и изменяет некоторые модели внутри функции-обработчика, вам необходимо вызвать $ apply (), чтобы изменения вступили в силу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...