Aframe 如何动态更改<;a-text>;?

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

我想做一个动态数字时钟。我正在使用一个文本元素,但是我不能通过在JS中设置属性来更改它的文本。我仍然可以更改其他属性,如颜色

html:
您可以获取完整的代码。

因此我认为这是一个争用条件问题,因为在
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');
  }
});