【问题标题】:Why is the HTML/DOM not updating in A-Frame?为什么 HTML/DOM 没有在 A-Frame 中更新?
【发布时间】:2016-09-27 16:28:42
【问题描述】:

我正在对 A-Frame 中的实体执行 setAttribute$.attr()。例如,

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

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

【问题讨论】:

    标签: aframe


    【解决方案1】:

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

    默认情况下,出于性能原因,A-Frame 不会使用组件数据更新 DOM。如果我们打开浏览器的 DOM 检查器,我们会看到很多实体只有组件名称可见:

    <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()
    

    如果您希望使用 Inspector 进行调试,请尝试使用 A-Frame Inspector。 https://aframe.io/docs/0.3.0/guides/using-the-aframe-inspector.html 。只需打开一个场景并按&lt;ctrl&gt; + &lt;alt&gt; + i

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多