Ho un input che filtra un elenco di ripetizioni al cambiamento. La ripetizione contiene molti dati e impiega alcuni secondi per filtrare tutto. Vorrei che ci fossero 0,5 secondi di ritardo prima di iniziare il processo di filtraggio. Qual è il modo corretto in angolare per creare questo ritardo?
Ingresso
<input ng-model="xyz" ng-change="FilterByName()" />
Ripetere
<div ng-repeat"foo in bar">
<p>{{foo.bar}}</p>
</div>
Funzione di filtro
$scope.FilterByName = function () {
//Filtering Stuff Here
});
Grazie
$timeout.cancel(timeoutpromise)
se è in corso un timeout e viene attivata un'altra modifica.
$timeout
per 500 ms.$scope.FilterByName = function () { $timeout(_filterByName , 500)