Взаимодействие с AFrame Click-to-show - PullRequest
0 голосов
/ 05 июня 2019

Так что я хочу сделать интерактивные гистограммы с рамкой. Например, нажав на панель, показывающую ее детали. Как в глюке здесь https://glitch.com/~salty-partner-1

Проблема, как вы можете видеть, при нажатии на первую полосу, также будет отображаться текст 2-й полосы. У меня вопрос, должен ли я сделать новый registerComponent для каждого столбца (например: text-show1, text-show2 и т. Д.) Или есть другой способ?

AFRAME.registerComponent("text-show", {
            init: function() {
            let toggle = false
              this.el.addEventListener("click", (e) => {
                let box = document.querySelectorAll(".clickable")
                box.forEach(function(el) {
                    el.setAttribute("visible", toggle)
                })
                toggle = !toggle
              })
            }
          })

Я зарегистрировал новый компонент для 2-3 баров, но у меня как 20 баров. Поэтому регистрация 20 компонентов неэффективна.

1 Ответ

0 голосов
/ 05 июня 2019

Вы должны перейти в схему, какой элемент вы хотите переключить видимым.text-show="target: #text1".

Вот компонент, который сделает это за вас: https://github.com/supermedium/superframe/tree/master/components/event-set#aframe-event-set-component event-set__click="_target: #text1; visible: true"

Вот расширенный пример пользовательского интерфейса, интерактивных кнопок и прочего: https://glitch.com/~aframe-building-ui

...