使用A-Frame时,无法访问带有破折号的组件,例如“轨道控件”。

我正在尝试访问aframe组件“轨道控件”。下方链接:

aframe-orbit-controls component

由于此组件的minAzimuthAngle和maxAzimuthAngle无法正常工作,因此我必须访问其源代码才能使用脚本对其进行更改。但是当我尝试访问它时,我无法使用

var componentAngle = el.components['orbit-controls'];

获取组件,它返回未定义。当我登录

var componentAngle = el.components

,它返回:

javascript - 括号表示法不适用于框架-LMLPHP
那么,如何访问此“轨道控件”?我也试过

var getAngle = el.getAttribute('orbit-controls');

哪个返回

javascript - 括号表示法不适用于框架-LMLPHP
这些只是数字,更改它们不会更改实际的minAzimuthAngle。所以我想知道是否有一种方法可以访问第一个图像中显示的属性?非常感谢。

下面是代码链接。

try to access "orbit-controls" component

最佳答案

您应该等到实体完全加载后才能抓取this.el.components['orbit-controls']

this.el.addEventListener('loaded', e => {
   console.log(this.el.components['orbit-controls']
})


在轨道控制之前添加了方位分量,因此当第一个被初始化时,后者可能尚未准备好。

小提琴here

09-25 15:15