События клавиатуры Vue.js не работают

Я пытаюсь создать пианино, которое будет играть ноту в зависимости от нажатой клавиши на клавиатуре. Пользователь щелкнет по вводу, и после щелчка, например, «а», он сыграет ноту C2. Мой текущий код не работает и не показывает никаких ошибок в консоли, поэтому мне было интересно, что я сделал не так. Я немного новичок в Vue.js

Вот HTML:

<input type = "text" v-on:keyup = "keyMonitor"/>

Вот файл JS:

var wrapper = new Vue({
el: '#wrapper',
data: {
notes: [
{key: 65, name: "C2.mp3"},
{key: 83, name: "D2.mp3"},
{key: 68, name: "E2.mp3"},
{key: 70, name: "F2.mp3"},
{key: 71, name: "G2.mp3"},
{key: 72, name: "A2.mp3"},
{key: 74, name: "B2.mp3"},
{key: 75, name: "C3.mp3"},
{key: 76, name: "D3.mp3"},
{key: 90, name: "E3.mp3"},
{key: 88, name: "F3.mp3"},
{key: 67, name: "G3.mp3"},
{key: 86, name: "A3.mp3"},
{key: 66, name: "B3.mp3"},
{key: 78, name: "C4.mp3"},
{key: 77, name: "D4.mp3"},
{key: 188, name: "E4.mp3"}
]
},
methods: {
playNote: function(note){
    if (note){
        var audio = new Audio(note);
        audio.play();

    }
},
keyMonitor: function(evt){
for(var key in wrapper.notes)
    if (evt.key == wrapper.notes.key){
        playNote(wrapper.notes.name);

    }
}

}

})
Вот ваш код немного очищен. Он не воспроизводит ноты, потому что, очевидно, у него нет файлов mp3, но он должен приблизить вас.
Bert 02.06.2018 17:21

Большое спасибо, это очень помогло!

Marcin Gawronek 02.06.2018 17:25
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
266
0

Другие вопросы по теме