问题描述:在使用aframe的状态组件bind-for时,发现实体不会更新。
解决方法:
data: {
items: [
{ id: 1, name: 'item 1'},
{ id: 2, name: 'item 2'},
{ id: 3, name: 'item 3'}
]
},
methods: {
addItem() {
this.items.push({ id: 4, name: 'item 4' });
}
}
registerEntity
方法注册实体,并使用setAttribute
方法来更新实体的属性。import { Entity } from 'aframe';
data() {
return {
items: [
{ id: 1, name: 'item 1'},
{ id: 2, name: 'item 2'},
{ id: 3, name: 'item 3'}
]
};
},
mounted() {
this.items.forEach(item => {
const entity = new Entity();
entity.setAttribute('bind-for', `item in items`);
entity.setAttribute('key', item.id);
// 设置其他实体属性
this.$el.sceneEl.object3D.add(entity.object3D);
this.$el.sceneEl.addBehavior(entity);
});
}
注意:以上方法供参考,具体的解决方法可能因你的实际情况而有所不同。
上一篇:Aframe的下一个和上一个函数