Aframe 如何动态更改<;a-text>;?
我想做一个动态数字时钟。我正在使用一个文本元素,但是我不能通过在JS中设置属性来更改它的文本。我仍然可以更改其他属性,如颜色 html:Aframe 如何动态更改<;a-text>;?,aframe,Aframe,我想做一个动态数字时钟。我正在使用一个文本元素,但是我不能通过在JS中设置属性来更改它的文本。我仍然可以更改其他属性,如颜色 html: 您可以获取完整的代码。因此我认为这是一个争用条件问题,因为在a-text中实际上有两个更新正在进行,即初始化时和接收到新值时(导致调用组件update) 文本组件确实发出一个名为的事件 使用该事件,您可以在该事件发出后启动时钟 AFRAME.registerComponent('clock-text', { init: function() { v
您可以获取完整的代码。因此我认为这是一个争用条件问题,因为在
a-text
中实际上有两个更新正在进行,即初始化时和接收到新值时(导致调用组件update
)
文本组件确实发出一个名为的事件
使用该事件,您可以在该事件发出后启动时钟
AFRAME.registerComponent('clock-text', {
init: function() {
var el = this.el;
this.ready = false;
el.addEventListener('textfontset', function() {
this.ready = true;
}.bind(this));
},
tick: function() {
var el = this.el;
if (!this.ready) {
return;
}
el.setAttribute('value', '20:30');
}
});
代码现在可以运行了,这是一个打字错误问题…
...
AFRAME.registerComponent('clock-text', {
init: function() {
var el = this.el;
el.setAttribute('value', '20:30');
el.setAttribute('color', 'black');
},
update: function() {
el.setAttribute('value', '20:30');
}
});
AFRAME.registerComponent('clock-text', {
init: function() {
var el = this.el;
this.ready = false;
el.addEventListener('textfontset', function() {
this.ready = true;
}.bind(this));
},
tick: function() {
var el = this.el;
if (!this.ready) {
return;
}
el.setAttribute('value', '20:30');
}
});