Как из строки сделать переменную?

Пишу свой плеер для YouTube, но есть проблема, не понимаю как из строки сделать переменную. Нужно запустить плеер, запуск происходит так: player1.playVideo();

Проблема в том, значение 'player1' хранится в объекте: playerInfo.id = 'player1';

Естественно playerInfo.id.playVideo(); не прокатывает.

Код можно посмотреть на codepen.io 62 строка
  • Вопрос задан
  • 138 просмотров
Решения вопроса 2
@NiyazNA
Может так, при условии, что уже существует объект player1
eval(`${playerInfo.id}.playVideo();`)
Ответ написан
RAX7
@RAX7
Все гораздо проще, неправильно колбэк прописан на onReady
было:
events: {
  'onReady': onPlayerReady()
}


нужно:
events: {
  'onReady': onPlayerReady.bind(null, playerInfo),
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@bqio
https://bqio.github.io/
Вы пытаетесь вызвать метод на строке, а не на объекте плеера. player1 должен быть объектом. Ищите ошибки в своём коде. Такого листинга недостаточно.

Пример:
let players = {
  player1: playerObject
}
players[playerInfo.id].playVideo()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы