брекет-нотация не работает с рамкой - PullRequest
0 голосов
/ 26 июня 2019

При использовании A-Frame невозможно получить доступ к компоненту, названному тире, например, "orbit-controls".

Я пытаюсь получить доступ к элементу фрейма "управление орбитой". Ссылка ниже:

компонент управления рамкой орбиты

, так как minAzimuthAngle и maxAzimuthAngle этого компонента не работают, поэтому я должен получить доступ к его источнику, чтобы использовать скрипт для его изменения. Но когда я пытался получить к нему доступ, я не могу использовать

var componentAngle = el.components['orbit-controls'];

, чтобы получить компонент, и он возвращает undefined. Когда я захожу

var componentAngle = el.components

, возвращается:

orbit-controls component exists Итак, как я могу получить доступ к этому «орбиту»? Я тоже пробовал

var getAngle = el.getAttribute('orbit-controls');

, который возвращает

data of и это только числа, и их изменение не изменит настоящий minAzimuthAngle. Поэтому мне интересно, есть ли способ получить доступ к свойству, показанному на первом изображении? Очень ценится.

Ниже приведена кодовая ссылка.

попытаться получить доступ к компоненту "управление орбитой"

1 Ответ

1 голос
/ 26 июня 2019

Вы должны дождаться полной загрузки объекта, прежде чем захватить this.el.components['orbit-controls']:

this.el.addEventListener('loaded', e => {
   console.log(this.el.components['orbit-controls']
})

Компонент azimuth добавляется перед управления орбитой , поэтому, когдапервый инициализируется, последний может быть еще не готов.

Fiddle здесь .

...