Зачем использовать getAttribute и setAttribute? - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь лучше понять основы A-Frame.

Я понимаю, как использовать методы getAttribute () и setAttribute () для доступ к данным компонента. Однако я не понимаю , почему мы используем их вместо простого доступа к атрибутам компонентов с помощью точечной нотации.

Многие люди используют что-то вроде: document.querySelector ( "# MYTEXT"). GetAttribute ( 'текст'). Значение

Почему бы не использовать: document.querySelector ("# myText"). components ['text']. data.value

Что-то не так с этим вторым способом? Какие подводные камни? В моих экспериментах я испытывал оба способа, возвращая «undefined» из-за кода, выполняемого до завершения загрузки сцены, но я научился избегать этого с помощью события «loaded ».

Как вы можете видеть на этом примере сбоя (https://glitch.com/~text-hierarchy) Я успешно распечатал данные на консоль, используя оба способа.

1 Ответ

0 голосов
/ 10 июля 2019

Часть стандарта

И getAttribute(prop), и setAttribute(prop, value) используются для получения / установки атрибутов любых других элементов DOM.Ссылки MDN здесь ( get , set )

Совместим с компонентами кадров

Если у вас обновление () функция в вашем компоненте a-frame, setAttribute () вызывает его, замечая, что свойство компонента изменилось.


Это не обязательно, еще быстрее изменить некоторые свойстванапрямую, но есть риски, такие как неопределенное поведение, если разработчик использует update() для отслеживания изменений.

...