Ich verwende onchange, um den Wert meines Eingabebereichs in Firebase zu speichern, aber ich habe einen Fehler, der besagt, dass meine Funktion nicht definiert ist.
Das ist meine Funktion
saverange(){
this.Platform.ready().then(() => {
this.rootRef.child("users").child(this.UserID).child('range').set(this.range)
})
}
Das ist mein HTML
<ion-item>
<ion-row>
<ion-col>Rayon <span favorite><strong> {{range}} km</strong></span></ion-col>
<ion-col><input type="range" name="points" min="0" max="40" [(ngModel)]="range" onchange="saverange()"></ion-col>
</ion-row>
</ion-item>
Was ist das Äquivalent zu einem Winkelwechsel, falls vorhanden? Danke
(change)
, 5 weitere zu gehenAntworten:
Da
change
es auf der Liste der Standard-DOM-Ereignisse steht , können wir es verwenden:In Ihrem speziellen Fall könnten Sie, da Sie NgModel verwenden, die bidirektionale Bindung stattdessen wie folgt auflösen:
Dann
Dieser Ansatz
saverange()
wird jedoch bei jedem Tastendruck aufgerufen, sodass Sie ihn wahrscheinlich besser verwenden sollten(change)
.quelle
In Angular können Sie
event listeners
wie im folgenden Beispiel definieren :quelle
@ Mark Rajcok bot eine großartige Lösung für Ionenprojekte, die eine Eingabe vom Bereichstyp enthalten.
In jedem anderen Fall von Nicht-Ionen-Projekten werde ich Folgendes vorschlagen:
HTML:
Komponente:
Die Idee hier:
Lassen Sie die
(ngModelChange)
Methode den Setter-Job ausführen:(ngModelChange)="range=saverange($event, points)
Aktivieren des direkten Zugriffs auf das native Dom-Element mithilfe dieses Aufrufs:
eRef.value = eventStrToReplace;
quelle