我正在尝试从A-Frame场景中的实体控制某些DOM元素。在此之前,曾有人问过这个问题:Control HTML Objects with A-Frame Entity。 Noa编写了一个组件,该组件允许实体“调用” DOM元素并将其置于场景的前面。 我以一种相当笨拙的方式添加了“隐藏”功能,并且还添加了场景中不同元素通过同一组件调用不同DOM元素的选项。我不明白这一点。 是否有必要为每个动作编写不同的组件? 我重新混合了Noa的故障,以显示我要做什么: https://glitch.com/edit/#!/join/391f2bd8-9f3a-4a3d-9426-e849d260081b
非常感谢。
答案 0 :(得分:1)
我将使用其他类型的组件来执行此操作,该组件采用一个您希望它影响的HTML选择器:
AFRAME.registerComponent("show-html", {
schema: { type: "selector" },
init: function () {
const target = this.data;
this.el.addEventListener("click", () => target.classList.add("show"));
}
});
<a-image show-html="#el_1"></a-image>
<a-image show-html="#el_2"></a-image>