Javascript / Angular-函数运行太快

时间:2018-07-04 13:52:06

标签: javascript angularjs

这是我的简单过滤器表。

<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来获取filteredTickets.length的值(因为如果您知道一种告诉我的方式,那么我就无法在范围内获取此值)

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

基本上,它的innerText将具有过滤后的票证长度。

现在问题来了。当我在输入搜索中输入内容时,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个的消息?就像在更新filterTicketLength之前正在运行searchChanged函数。

0 个答案:

没有答案