J'ai une entrée qui filtre une liste ng-répétée en cas de changement. La répétition contient beaucoup de données et prend quelques secondes pour tout filtrer. Je voudrais qu'il y ait un délai de 0,5 seconde avant de commencer le processus de filtrage. Quelle est la bonne manière angulaire pour créer ce retard?
Contribution
<input ng-model="xyz" ng-change="FilterByName()" />
Répéter
<div ng-repeat"foo in bar">
<p>{{foo.bar}}</p>
</div>
Fonction de filtre
$scope.FilterByName = function () {
//Filtering Stuff Here
});
Merci
$timeout.cancel(timeoutpromise)
si un délai d'expiration est en cours et qu'une autre modification est déclenchée.
$timeout
pendant 500 ms.$scope.FilterByName = function () { $timeout(_filterByName , 500)