Estoy aprendiendo Vue.js. En mi Vue, tengo un campo de texto y un botón. De forma predeterminada, este botón envía un formulario cuando alguien presiona la tecla Intro en su teclado. Cuando alguien está escribiendo en el campo de texto, quiero capturar cada tecla presionada. Si la clave es un símbolo '@', quiero hacer algo especial. Si la tecla presionada es la tecla "Enter", también quiero hacer algo especial. Este último es el que me da desafíos. Actualmente, tengo este Fiddle , que incluye este código:
new Vue({
el: '#myApp',
data: {
emailAddress: '',
log: ''
},
methods: {
validateEmailAddress: function(e) {
if (e.keyCode === 13) {
alert('Enter was pressed');
} else if (e.keyCode === 50) {
alert('@ was pressed');
}
this.log += e.key;
},
postEmailAddress: function() {
this.log += '\n\nPosting';
}
});
En mi ejemplo, parece que no puedo presionar la tecla "Enter" sin que envíe el formulario. Sin embargo, esperaría que la validateEmailAddressfunción al menos se active primero para poder capturarla. Pero eso no parece estar sucediendo. ¿Qué estoy haciendo mal?