Мой пример использования следующий:
В цикле создаются объекты и устанавливаются компоненты. Это через json-объект, который передается в функцию. У меня вопрос, как лучше всего получить событие, когда весь набор сущностей и их компоненты инициализируются. Код примерно такой
var parent = document.querySelector('#parent');
var ent = document.createElement('a-entity');
parent.appendChild(ent);
for(var i =0; i = components.length; i++) {
var arr = components[i];
var cl = arr[0]; // class name
var attr = arr[2]; // component name
var attrV = arr[3]; // component data
ent.setAttribute('class', cl);
AFRAME.utils.entity.setComponentProperty(ent, attr, attrV);
//ent.setAttribute(attr, attrV); tried with this too
}
console.log('loop completed')
Завершенный цикл регистрируется до завершения загрузки некоторых компонентов. Я хотел бы получить обратный звонок, чтобы узнать, что все компоненты были загружены.
Кажется, что есть событие componentinitialized
, но оно отправляет возврат только для 1 компонента. Мое реальное требование (не отраженное в приведенном выше коде) заключается в том, что объект может иметь несколько добавленных компонентов.
Чтобы использовать вышеизложенное, мне, возможно, придется установить это событие для каждого компонента и отслеживать, было ли оно завершено или нет. Просто интересно, есть ли более элегантный способ сделать это. Спасибо