Я пишу пользовательский компонент, который хотел бы определить зависимости других компонентов.
Зависимости - это разные типы анимации.Допустим, у них есть имена «animation__x» и «animation__y» x и y могут быть любым именем, поэтому я ищу что-то вроде анимации __ * или / animation __ \ s * /
Единственный способ, которым я сделал этоВ настоящий момент я работаю над тем, чтобы мой компонент был помещен после компонентов анимации в HTML, или, наоборот, принудительно обновлял компоненты, используя this.el.updateComponents ()
Ни одно из этих решений не подходит мне.
AFRAME.registerComponent('cool-component', {
dependencies: ['animation'],
update: functions(data){
//detect available animations and do some stuff with them
let animations = Object.keys(components).filter((key) => {
return /(^animation__\w*)/.test(key);
});
//animations results in an empty array
}
});
html, который не работает
<a-scene cool-component animation__x="" animation__y="" animation__z=""></a-scene>
html, который работает (но это не хорошо, поскольку я не могу гарантировать, что мой компонент всегда последний в списке
<a-scene animation__x="" animation__y="" animation__z="" cool-component></a-scene>
js, который работает, но не чувствует, что пишет, поскольку я использую внутренние функции сущностей
AFRAME.registerComponent('cool-component', {
dependencies: ['animation'],
update: functions(data){
this.el.updateComponents(); //<-- I DONT LIKE THIS BUT IT WORKS
//detect available animations and do some stuff with them
//now all animations are available as this.el.components
let animations = Object.keys(components).filter((key) => {
return /(^animation__\w*)/.test(key);
});
}
});