括号表示法不适用于框架

时间:2019-06-26 03:54:47

标签: javascript html three.js aframe

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

我正在尝试访问框架组件“轨道控件”。链接如下:

aframe-orbit-controls component

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

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

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

var componentAngle = el.components

,它返回:

orbit-controls component exists 那么,如何访问此“轨道控件”?我也尝试过

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

返回

data of "orbit-controls" component 这些只是数字,更改它们不会更改实际的minAzimuthAngle。所以我想知道是否有一种方法可以访问第一个图像中显示的属性?非常感谢。

下面是代码链接。

try to access "orbit-controls" component

1 个答案:

答案 0 :(得分:1)

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

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

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

提琴here