我有多个定义tick
方法的组件,我需要控制执行顺序。具有以下组件:
AFRAME.registerComponent('component-a', {
tick: function () { console.log('ComponentA'); }
});
AFRAME.registerComponent('component-b', {
tick: function () { console.log('ComponentB'); }
});
AFRAME.registerComponent('component-c', {
tick: function () { console.log('ComponentC'); }
});
以及以下实体:
<a-entity component-a component-b component-c></a-entity>
我想保证以下订单号:component-a,component-b,component-c
答案 0 :(得分:1)
A框架没有内置的方法来定义报价执行顺序。刻度将按照初始化组件的顺序执行。通过使用b
以所需的顺序调用组件方法,可以轻松地控制执行:
manager component
在以下实体上:
AFRAME.registerComponent('manager', {
tick: function () {
const el = this.el;
el.components['component-a'].print();
el.components['component-b'].print();
el.components['component-c'].print();
}
});
AFRAME.registerComponent('component-a', {
print: function () { console.log('ComponentA'); }
});
AFRAME.registerComponent('component-b', {
print: function () { console.log('ComponentB'); }
});
AFRAME.registerComponent('component-c', {
print: function () { console.log('ComponentC'); }
});