如何将 x3dom 与聚合物一起使用?
How to use x3dom with polymer?
我有一个 polymer 站点,我想在其中使用 x3dom 库来查看外部 x3d 文件,并且能够将加载的 3D 场景简单地旋转 360 度。
有人成功地将 x3dom 与 polymer 结合使用了吗?我不明白为什么这行不通。请假设我拥有正确的所有聚合物材料(我拥有)并且已经在页面头部加载了先决条件 x3dom.js 脚本和 x3dom.css。这只是显示关键位的精简代码片段:
<x3d width='350px' height='400px'>
<scene>
<inline nameSpaceName="myNS" mapDEFToID="true" url="{{_x3dPath}}"></inline>
</scene>
</x3d>
<script>
Polymer({
properties: {
_x3dPath: {type: String},
},
ready: function() {
this._x3dPath = "/someDynamicPath/threeDfile.x3d";
}
});
</script>
有什么建议吗?
您需要创建一个自定义元素作为第 3 方库的包装器。 (例如 x3dom-wrapper.html )。
在该文件中,您必须添加对 x3dom .js 的脚本引用
<script type="text/javascript" src='../bower_components/x3dom/x3dom.js'></script>
然后,您需要像导入任何其他聚合物组件一样导入包装自定义元素。这样您就可以确保 x3dom 依赖项在您需要时可用。
编辑:
包装库仍然是一个好习惯,但不是问题的根源。我做了一个快速测试,发现您必须在 "ready" 聚合物事件处理程序上调用 x3dom.reload()。这样 x3dom 系统就会正确地重新加载
我有一个 polymer 站点,我想在其中使用 x3dom 库来查看外部 x3d 文件,并且能够将加载的 3D 场景简单地旋转 360 度。
有人成功地将 x3dom 与 polymer 结合使用了吗?我不明白为什么这行不通。请假设我拥有正确的所有聚合物材料(我拥有)并且已经在页面头部加载了先决条件 x3dom.js 脚本和 x3dom.css。这只是显示关键位的精简代码片段:
<x3d width='350px' height='400px'>
<scene>
<inline nameSpaceName="myNS" mapDEFToID="true" url="{{_x3dPath}}"></inline>
</scene>
</x3d>
<script>
Polymer({
properties: {
_x3dPath: {type: String},
},
ready: function() {
this._x3dPath = "/someDynamicPath/threeDfile.x3d";
}
});
</script>
有什么建议吗?
您需要创建一个自定义元素作为第 3 方库的包装器。 (例如 x3dom-wrapper.html )。
在该文件中,您必须添加对 x3dom .js 的脚本引用
<script type="text/javascript" src='../bower_components/x3dom/x3dom.js'></script>
然后,您需要像导入任何其他聚合物组件一样导入包装自定义元素。这样您就可以确保 x3dom 依赖项在您需要时可用。
编辑: 包装库仍然是一个好习惯,但不是问题的根源。我做了一个快速测试,发现您必须在 "ready" 聚合物事件处理程序上调用 x3dom.reload()。这样 x3dom 系统就会正确地重新加载