Używam onchange, aby zapisać wartość mojego zakresu wejściowego w Firebase, ale mam błąd, który mówi, że moja funkcja nie jest zdefiniowana.
to moja funkcja
saverange(){
this.Platform.ready().then(() => {
this.rootRef.child("users").child(this.UserID).child('range').set(this.range)
})
}
to jest mój 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>
jaki jest odpowiednik zmiany w kątowej, jeśli taka istnieje. Dziękuję Ci
(change)
,Odpowiedzi:
Ponieważ
change
znajduje się na liście standardowych zdarzeń DOM , możemy go użyć:W twoim konkretnym przypadku, ponieważ używasz NgModel, możesz zamiast tego zerwać dwukierunkowe wiązanie w następujący sposób:
Następnie
Jednak przy takim podejściu
saverange()
jest wywoływane przy każdym naciśnięciu klawisza, więc prawdopodobnie lepiej jest użyć(change)
.źródło
W Angular możesz zdefiniować
event listeners
jak w poniższym przykładzie:źródło
@Mark Rajcok dał świetne rozwiązanie dla projektów jonowych, które obejmują wejście typu zakresu.
W każdym innym przypadku projektów niejonowych zasugeruję to:
HTML:
Składnik:
Pomysł tutaj:
Pozwalając
(ngModelChange)
metodzie wykonać zadanie Settera:(ngModelChange)="range=saverange($event, points)
Włączanie bezpośredniego dostępu do natywnego elementu Dom za pomocą tego wywołania:
eRef.value = eventStrToReplace;
źródło