我想将x3dom和我的PolymerElements一起使用,但是如果我将所需的x3d标签放在我的Polymer.Element中,X3Dom声明没有找到容器,因为它使用了document.getElementsByTagName('X3D');
见这里:https://github.com/x3dom/x3dom/blob/652f3d4acd5e9e9f62b3ecdd92dec5e5c8a2fd86/src/Main.js#L25
有没有办法让dom元素'公开',以便像x3dom这样的库可以找到它们?
P.S。:我找到的一种有效的解决方案是将元素“插入”到实际目的地。
示例:
<body>
<my-custom-element>
<x3d ...> ... </x3d>
</my-customelement>
<script src="x3dom-full.js">
</body>
可以,如果我像这样设计我的元素:
<dom-module id="my-custom-element">
<template>
<style></style>
<slot></slot>
</template>
</dom-module>
如果我像这样设计我的元素:
<dom-module id="my-custom-element">
<template>
<style></style>
<x3d></x3d>
</template>
</dom-module>
x3dom无法找到它,即使x3dom-full.js的脚本标记位于模板标记内。
我不喜欢插槽标签的原因是我想隐藏自定义元素中的x3dom功能。