2016-09-27 63 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即可。