为什么要使用getAttribute和setAttribute?

时间:2019-07-10 00:09:50

标签: aframe

我试图更好地理解A框架的基础知识。

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

很多人使用类似: document.querySelector(“#myText”)。getAttribute('text')。value

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

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

您可以在此故障示例(https://glitch.com/~text-hierarchy中看到),我已经成功使用两种方法将数据打印到控制台。

1 个答案:

答案 0 :(得分:0)

部分标准

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

与框架组件兼容

如果您的a帧组件中有一个update()函数,则setAttribute()会调用它,注意,组件的属性已更改。


这不是强制性的,直接修改某些属性的速度更快,但是它具有风险,例如如果开发人员使用update()来监视更改,则行为不确定。