Digamos que tengo una plantilla con varios elementos button
en ella. Si quiero ver un evento click
entonces solo uso el asistente {{action}}
. Pero no puedo encontrar una manera de pasar otros eventos como mouseEnter
o mouseLeave
. Hubiera pensado usar Ember.Button
y de alguna manera hacerlo a través de childViews
pero parece ser deprecated.Ember.js {{action}} aparte de
plantilla
{{#view App.MyView}}
<button {{action "btnClicked"}}>button1</button>
<button {{action "btnClicked"}}>button2</button>
{{/view}}
js
App.MyView = Em.View.extend({
btnClicked: function(e){
alert('btnClicked');
},
btnMouseEnter: function(e){
alert('btnMouseEnter'); // how to call this?
}
});
sé que puedo usar {{action "btnMouseEnter" on="mouseEnter"}}
pero luego pierden la funcionalidad clic. ¿Debo ajustar cada botón en su propio Ember.View
? Si es así, ¿por qué se desaprobó Ember.Button
?
Editar:
Creo que debe ser capaz de tener múltiples acontecimientos desencadenan la misma action
<button {{action "myAction" on="click mouseEnter mouseLeave"}}>button</button>
he implementado este comportamiento en mi fork y here es un jsFiddle demostrando que funcione
Editar:
si a alguien también le interesa esta funcionalidad, la discusión continúa here.
+1 para el enlace. Qué lástima que no explicaron por qué eligieron no implementar soporte para múltiples acciones. –
He actualizado mi pregunta. ¿Puedo tener una opinión? –
Creo que tendrá respuestas en el problema que ha publicado;) –