Я хочу использовать геймпад в своем приложении vue. js. Поэтому я взял код из Mozilla Docs и изменил его:
data() {
return {
gamepads: {},
};
},
created() {
this.addEventListeners();
},
methods: {
addEventListeners() {
window.addEventListener('gamepadconnected', (e) => {
this.gamepadHandler(e, true);
});
window.addEventListener('gamepaddisconnected', (e) => {
this.gamepadHandler(e, false);
});
},
gamepadHandler(event, connecting) {
if (connecting) {
console.log(
'Gamepad connected at index %d: %s. %d buttons, %d axes.',
event.gamepad.index,
event.gamepad.id,
event.gamepad.buttons.length,
event.gamepad.axes.length,
);
this.gamepads[gamepad.index] = event.gamepad;
} else {
console.log(
'Gamepad disconnected from index %d: %s',
event.gamepad.index,
event.gamepad.id,
);
delete this.gamepads[event.gamepad.index];
}
}
}
Когда я запускаю это, все работает нормально, и console.log регистрирует весь объект Gamepad. Но когда я сохраняю этот объект Gamepad в данных, он сохраняется как String «[object Gamepad]».
Как я могу сохранить реальный объект, а не только имя класса?