Estoy usando onchange para guardar el valor de mi rango de entrada en firebase, pero tengo un error que dice que mi función no está definida.
esta es mi función
saverange(){
this.Platform.ready().then(() => {
this.rootRef.child("users").child(this.UserID).child('range').set(this.range)
})
}
este es mi 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>
¿Cuál es el equivalente de un cambio en angular, si existe? gracias
(change)
, Quedan 5 másRespuestas:
Dado que
change
está en la lista de eventos DOM estándar , podemos usarlo:En su caso particular, dado que está utilizando NgModel, podría romper el enlace bidireccional de esta manera:
Entonces
Sin embargo, con este enfoque
saverange()
se llama con cada pulsación de tecla, por lo que probablemente sea mejor usarlo(change)
.fuente
En Angular puede definir
event listeners
como en el siguiente ejemplo:fuente
@Mark Rajcok brindó una excelente solución para proyectos de iones que incluyen una entrada de tipo de rango.
En cualquier otro caso de proyectos no iónicos, sugeriré esto:
HTML:
Componente:
La idea aquí:
Dejando que el
(ngModelChange)
método haga el trabajo de Setter:(ngModelChange)="range=saverange($event, points)
Habilitando el acceso directo al elemento Dom nativo usando esta llamada:
eRef.value = eventStrToReplace;
fuente