位置和旋转属性未在 aframe 0.8.0 中使用 SetAttribute 更新

The position and rotation attributes are not updating with SetAttribute in aframe 0.8.0

我的组件旨在在检查时创建一个新实体,它确实这样做了,它添加了大部分属性,但没有添加旋转和位置。我看到这似乎是 0.5.0 之前的版本的问题,但我使用的是 0.8.0,它仍然没有更新。有什么想法吗?

AFRAME.registerComponent('new-room', {
  schema: {
    on: {type: 'string'},
    rotation: {type: 'string'},
    target: {type: 'selector'},
    iconposition: {type: 'string'},
    iconrotation: {type: 'string'}
  },

  init: function () {

    // Do something when component first attached.
    var data = this.data;
    var el = this.el;

    el.addEventListener(data.on, function () {
        // Set image.
        data.target.setAttribute('rotation', data.rotation);

        // Remove all room icons
        var entityEl = document.querySelector('.icons');
        entityEl.parentNode.removeChild(entityEl);


        // Adjust room icons
    var entityEl = document.createElement('a-entity');
        document.querySelector('a-scene').appendChild(entityEl);
        entityEl.setAttribute('geometry', {primitive: 'plane', height: '1', width: '1'});
        entityEl.setAttribute('material', {shader: 'flat', src: '#thumb', transparent: 'true', opacity: '.3'});
        entityEl.setAttribute('class','icons');
        entityEl.setAttribute('position',data.iconposition);
    document.querySelector('a-scene').flushToDOM(true);

    });
  }
});

在哪里设置data.rotation?因为您传入的是同一个对象,所以它不会将其识别为更新。我们规定在文档中使用 object3D.rotation 更新旋转,例如 el.object3D.rotation.set(x, y, z)el.object3D.rotation.copy(vec3).