Emberjs - Obtener el atributo del elemento haciendo clic en
-
28-10-2019 - |
Pregunta
Pregunta: Al hacer clic, veo que evt.target.Attributes almacena todos los atributos en una matriz. ¿Hay una manera más fácil sin tener que iterar todos los atributos para obtener un cierto valor de atributos? En este ejemplo, necesito el valor del atributo 'Nota' para el elemento que hizo clic.
Modelo:
<a note="C" {{action "play" on="click"}}>></a>
Haga clic en Handler (reproducir):
var keys = Ember.View.create({
templateName: 'keys',
notes: this.get('allKeys'),
play:function(evt){
var attributes= evt.target.attributes;
console.log(attributes);
}
Solución
Si un controlador no está respaldando la vista, una solución es convertir el objetivo del evento en un objeto jQuery
play : function(event) {
var note = $(event.target).attr("note");
// More code here
}
Otros consejos
Otra forma es pasar el valor del atributo como parámetro a la acción.
<a note="C" onClick={{action "play" value="target.note"}}></a>
Y puedes acceder a él así:
...
actions: {
play(note) {
console.log(note);
},
},
...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow