【问题标题】:Why use getAttribute and setAttribute?为什么要使用 getAttribute 和 setAttribute?
【发布时间】:2019-07-12 22:03:36
【问题描述】:

我正在努力更好地理解 A-Frame 的基本原理。

我了解如何使用 getAttribute() 和 setAttribute() 方法 访问组件数据。但是我不明白为什么我们使用它们而不是仅仅使用点符号访问组件属性。

很多人使用类似的东西: document.querySelector("#myText").getAttribute('text').value

为什么不使用: document.querySelector("#myText").components['text'].data.value

使用第二种方式有什么问题吗?有哪些陷阱?在我的实验中,由于代码在场景完成加载之前运行,我经历了两种返回“未定义”的方式,但我已经学会了如何使用“加载”事件来避免这种情况。

正如您在这个故障示例 (https://glitch.com/~text-hierarchy) 中看到的那样,我已经使用两种方式成功地将数据打印到控制台。

【问题讨论】:

    标签: aframe


    【解决方案1】:

    部分标准

    getAttribute(prop)setAttribute(prop, value) 都用于获取/设置任何其他 DOM 元素的属性。 MDN 链接在这里 (get, set)

    兼容框架组件

    如果您的 a-frame 组件中有 update() 函数,setAttribute() 会调用它,通知组件的属性已更改。


    这不是强制性的,直接修改某些属性甚至更快,但它有风险,例如如果开发人员使用update() 来监视更改,则会出现未定义的行为。

    【讨论】:

    • 非常感谢。
    猜你喜欢
    • 2013-01-25
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2019-01-11
    相关资源
    最近更新 更多