ฉันกำลังเรียนรู้ Vue.js ใน Vue ของฉันฉันมีช่องข้อความและปุ่ม ตามค่าเริ่มต้นปุ่มนี้จะส่งแบบฟอร์มเมื่อมีคนกดปุ่ม Enter บนแป้นพิมพ์ เมื่อมีคนพิมพ์ในช่องข้อความฉันต้องการจับแต่ละคีย์ที่กด ถ้าคีย์เป็นสัญลักษณ์ '@' ฉันต้องการทำอะไรเป็นพิเศษ หากคีย์ที่กดเป็นปุ่ม "Enter" ฉันก็ต้องการทำสิ่งที่พิเศษเช่นกัน อย่างหลังคือสิ่งที่ท้าทายฉัน ขณะนี้ฉันมีFiddleซึ่งมีรหัสนี้:
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';
}
});
ในตัวอย่างของฉันฉันไม่สามารถกดแป้น "Enter" ได้หากไม่มีการส่งแบบฟอร์ม แต่ฉันคาดว่าvalidateEmailAddress
ฟังก์ชันจะเริ่มทำงานอย่างน้อยก่อนเพื่อที่ฉันจะได้จับมันได้ แต่ดูเหมือนจะไม่เกิดขึ้น ผมทำอะไรผิดหรือเปล่า?