我已经成功地使用Polymer.import动态水合UI,使用这样的代码在JS模块中运行:
Polymer.import(['MyApp/Content/myMap.html'], function() { // do some other work });
我的新网络组件包含一个映射组件,我看到标签已完全初始化并在主应用程序页面中工作。
我的问题在于对由其他子组件组成的更复杂的Web组件做同样的事情。例如(为简化起见,简化了代码):
<link rel="import" href="../lib/polymer/polymer.html">
<polymer-element name="main-toolbar" attributes="">
<link rel="import" href="./myTools.html">
<link rel="import" href="./toolsetManager.html">
<template>
<style>
:host {
/* Note: by default elements are always display:inline. */
}
</style>
<div layout horizontal class="container">
<div layout vertical center>
<paper-icon-button icon="menu"></paper-icon-button>
<my-tools></my-tools>
</div>
<toolset-manager></toolset-manager>
</div>
</template>
my-tools和toolset-manager是2个自定义标记。 toolset-manager标签实际上是由2个其他组件组成的。 在这种情况下,当我在主组件文件上尝试相同的导入方法时,如下所示:
Polymer.import(['MyApp/Content/custom/MainToolbar.html'], function() {
// done
});
我收到以下错误:
Uncaught HierarchyRequestError:无法执行'appendChild' 'Node':'HTML'类型的节点可能不会插入到类型的节点内 '#document'。
我无法找到Polymer.import()的任何组合示例,所以我想知道它是否支持?
我实际上一直在尝试对聚合物核心组件进行一些测试,我知道这些组件在复合材料方面没有什么成功和相同的错误。
所以我想知道其他人是否有成功完成此操作的示例代码段?
欣赏任何提示!感谢
答案 0 :(得分:0)
进一步调查和简化问题到基本的index.html页面而不是ASP Razor页面(用于提供主要内容),我已经能够证明Polymer.import的组合工作正好。我更复杂的元素现在可以正确显示。
问题似乎是.import()无法正确解析根应用程序URL,我认为这是我需要在ASP / IIS级别解决的问题。
答案 1 :(得分:0)
这次确定答案。
Polymer.import()是CASE敏感的!我为导入组成的URL的情况略有不同。在完全匹配时,负载错误消失。
我想我在另一个聚合物相关的帖子中看到了类似的东西。