Estou aprendendo Vue.js. No meu Vue, tenho um campo de texto e um botão. Por padrão, este botão envia um formulário quando alguém pressiona a tecla Enter no teclado. Quando alguém está digitando no campo de texto, desejo capturar cada tecla pressionada. Se a chave for um símbolo '@', quero fazer algo especial. Se a tecla pressionada é a tecla "Enter", também quero fazer algo especial. O último é quem me desafia. Atualmente, tenho este Fiddle , que inclui 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';
}
});
No meu exemplo, não consigo pressionar a tecla "Enter" sem enviar o formulário. Ainda assim, eu esperaria que a validateEmailAddressfunção fosse acionada pelo menos primeiro para que eu pudesse capturá-la. Mas, isso não parece estar acontecendo. O que estou fazendo errado?