我在做A幀的實體setAttribute
或$.attr()
。例如,爲什麼在A-Frame中不更新HTML/DOM?
el.setAttribute('position', '2 2 2');
位置更新,但我沒有看到它在HTML/DOM檢查器中更新。我剛剛設置<a-entity position>
怎麼回事?
我在做A幀的實體setAttribute
或$.attr()
。例如,爲什麼在A-Frame中不更新HTML/DOM?
el.setAttribute('position', '2 2 2');
位置更新,但我沒有看到它在HTML/DOM檢查器中更新。我剛剛設置<a-entity position>
怎麼回事?
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
即可。