2016-09-27 59 views
2

我在做A帧的实体setAttribute$.attr()。例如,为什么在A-Frame中不更新HTML/DOM?

el.setAttribute('position', '2 2 2'); 

位置更新,但我没有看到它在HTML/DOM检查器中更新。我刚刚设置<a-entity position>怎么回事?

回答

4

https://aframe.io/docs/0.3.0/components/debug.html

默认情况下,出于性能的考虑,A-帧不更新组件数据的DOM。如果我们打开浏览器的DOM Inspector,我们会看到许多实体将只有组件名称可见:

<a-entity geometry material position rotation></a-entity> 

组件数据被存储在内部。更新DOM需要CPU时间来将内部存储的组件数据转换为字符串。但是,当我们想要查看DOM更新以进行调试时,我们可以将调试组件添加到场景中。组件将在尝试序列化到DOM之前检查调试组件是否已启用。然后,我们就可以在DOM查看组件数据:

<a-entity geometry="primitive: box" material="color: red" position="1 2 3" rotation="0 180 0"></a-entity> 

要手动序列化到DOM需求:

<a-scene>.flushToDOM() 
<a-entity>.flushToDOM() 

如果您希望使用的检查调试,试A字架督察。 https://aframe.io/docs/0.3.0/guides/using-the-aframe-inspector.html。只需打开一个场景并按<ctrl> + <alt> + i即可。