Wie kann ich eine Funktion entprellen, die bei einem "keyUp" -Ereignis aufgerufen wird?Angular 2 - Entprellen eines keyUp-Ereignisses
Hier ist mein Code:
Meine Funktion
private handleSearch(searchTextValue: string, skip?: number): void {
this.searchTextValue = searchTextValue;
if (this.skip === 0 || typeof skip === "undefined") {
this.skip = 0;
this.pageIndex = 1;
} else {
this.skip = skip;
}
this.searchTextChanged.emit({ searchTextValue: searchTextValue, skip: this.skip, take: this.itemsPerPage });
}
Mein HTML
<input type="text" class="form-control" placeholder="{{ 'searchquery' | translate }}" id="searchText" #searchText (keyup)="handleSearch(searchText.value)">
bassically, was ich versuche zu erreichen, dass handleSearch
ein aufgerufen wird Wenige Augenblicke nachdem der Benutzer die Eingabe beendet hat.
fand ich heraus, dass ich lodash die _debounce()
dafür verwenden kann, aber ich habe nicht herausgefunden, wie diese auf meinem keyUp
Ereignis zu setzen.
wie kann ich Parameter übergeben zu 'ngOnInit() { this.subject.debounceTime (500) .subscribe (res => {// do something}); } '? – Nicolas
Sie können Ihre Suchanfrage an onKeyUp() übergeben und dann an die .next() übergeben, und dann wäre es die Res-Variable im Abonnement. Stellen Sie sicher, dass Sie den Betreff von Betreff zu Betreff ändern, während Sie mit einer Zeichenfolge arbeiten. Lass mich die Antwort bearbeiten. –
Ploppy
und wenn ich 1 optionalen Parameter habe? Soll ich sie in ein Objekt legen? Im OP verlasse ich mich auf 'searchTextValue' und' skip' was optional ist – Nicolas