Ich versuche gerade, einen einfachen Loader auf meiner Suchleiste zu zeigen, während die Suche stattfindet. Ich habe geplant, eine Variable in der subscribe Callback auf der valueChanges
Observable von meinem Formular Steuerelement auf einen Wert "loading", und um es auf eine leere Zeichenfolge im vollständigen Rückruf setzen. Der vollständige Rückruf wird jedoch nie aufgerufen.Angular2 Formular SteuerwertÄnderungen beobachtbar abgeschlossen nie aufgerufen
Ich habe auch versucht, einen Rückruf auf das Observable schließlich hinzuzufügen, aber es wird auch nie aufgerufen.
Mein Code:
searchBox: Control = new Control();
loadingClass: string = "";
constructor() {
this.searchBox.valueChanges
.debounceTime(400)
.distinctUntilChanged()
.subscribe((text: string) => {
this.imageSearch = text;
this.loadingClass = "loading";
}, (err: Error) => {
console.log(err);
},() => {
this.loadingClass = "";
console.log("test");
});
}
In meiner HTML-Vorlage habe ich tatsächlich eine Pipe, die auf das this.imageSearch-Attribut abhängt, also setze ich es einfach in den Subskriptionsbereich. Müssen Anpassungen an Ihrem Beispiel vorgenommen werden, damit ich es verwenden kann? – Matsura
Haben Sie eine Idee, wie Sie Änderungen nur erhalten, wenn die Validierung bestanden wurde, oder in valueChanges auf Gültigkeit prüfen? –