J'utilise onchange pour enregistrer la valeur de ma plage d'entrée dans Firebase, mais j'ai une erreur qui dit que ma fonction n'est pas définie.
c'est ma fonction
saverange(){
this.Platform.ready().then(() => {
this.rootRef.child("users").child(this.UserID).child('range').set(this.range)
})
}
c'est mon 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>
quel est l'équivalent d'un changement d'angle, s'il en existe. Merci
(change)
, 5 de plus à jouerRéponses:
Puisqu'il
change
fait partie de la liste des événements DOM standard , nous pouvons l'utiliser:Dans votre cas particulier, puisque vous utilisez NgModel, vous pouvez interrompre la liaison bidirectionnelle comme ceci à la place:
ensuite
Cependant, cette approche
saverange()
est appelée à chaque frappe, vous feriez donc probablement mieux d'utiliser(change)
.la source
Dans Angular, vous pouvez définir
event listeners
comme dans l'exemple ci-dessous:la source
@Mark Rajcok a donné une excellente solution pour les projets ioniques qui incluent une entrée de type plage.
Dans tout autre cas de projets non ioniques, je suggérerai ceci:
HTML:
Composant:
L'idée ici:
Laisser la
(ngModelChange)
méthode faire le travail de Setter:(ngModelChange)="range=saverange($event, points)
Activation de l'accès direct à l'élément Dom natif à l'aide de cet appel:
eRef.value = eventStrToReplace;
la source