Vue. js - сохранить в данных весь объект - PullRequest
1 голос
/ 02 августа 2020

Я хочу использовать геймпад в своем приложении 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]».

Как я могу сохранить реальный объект, а не только имя класса?

...