Javascript / Angular - функция работает слишком быстро - PullRequest
0 голосов
/ 04 июля 2018

Это моя простая таблица фильтров.

<tr class="text-center" ng-repeat="ticket in filteredTickets = (vm.tickets | orderBy : vm.propertyName : vm.reverse | filter : vm.search | limitTo:vm.itemsPerPage:vm.itemsPerPage*(vm.currentPage-1))">

И поисковый ввод

<input class="form-control w25 pull-right" ng-change="vm.searchChanged()" type="text" ng-model="vm.search" placeholder="Search..." />

И я создал поддельный td для получения значения FilterTickets.length (потому что я не могу получить значение этого в области видимости, если вы знаете способ, скажите мне)

 <td class="hidden" id="filteredTicketLength">{{filteredTickets.length}}</td>

в основном внутренний текст этого будет иметь длину билетов после фильтрации.

Теперь возникает проблема. Когда я что-то набираю в поиске ввода, totalItems не обновляется, пока я не напишу / не удалю другой символ. Как правило, правильное сообщение отображается после того, как я пишу / удаляю другое письмо

    <span class="pull-left">Showing {{filteredTickets.length}} tickets of {{vm.totalItems}} found.</span>

 vm.searchChanged = function () {
        var filteredTickets = document.getElementById('filteredTicketLength');
        console.log(filteredTickets);
        if(filteredTickets !== null)
            vm.filteredTicketLength = filteredTickets.innerText;
            vm.totalItems = vm.filteredTicketLength;
    };

Как мне написать это сообщение, показывающее x элементов из x, найденных после фильтрации? Это похоже на то, что функция searchChanged запускается до обновления FilterTicketLength.

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