我已经成功地使用Polymer.import来动态地水合物化UI,并在JS模块中运行这样的代码:
Polymer.import(['MyApp/Content/myMap.html'], function() { // do some other work });我的新web组件包含一个映射组件,我看到标记已经完全初始化,并在主应用程序页面中工作。
我的问题在于如何处理由其他子组件组成的更复杂的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>我的工具和工具集管理器是两个自定义标签.工具集管理器标记实际上是由另外两个组件组成的。在本例中,当我对主组件文件尝试相同的导入方法时,如下所示:
Polymer.import(['MyApp/Content/custom/MainToolbar.html'], function() {
// done
}); 我得到以下错误:
Uncaught :未能在'appendChild‘上执行’appendChild‘:类型'HTML’的节点可能不会插入到'#document‘类型的节点中。
我还没有找到任何Polymer.import()的组合例子,所以我想知道它是否被支持?
实际上,我一直在尝试一些聚合物核心组件的测试,我知道它们是复合材料,没有什么成功,也有同样的错误。
所以,我想知道是否还有其他人有一个示例代码片段,他们已经成功地做到了这一点?
谢谢你的建议!谢谢
发布于 2015-02-18 18:54:04
关于这个问题的进一步调查和简化,可以归结为一个基本的index.html页面,而不是ASP页面(就像用于服务主要内容的那样),我已经能够证明Polymer.import的构图工作得很好。我的更复杂的元素现在显示正确了。
问题似乎在于.import()没有正确解析根应用程序URL,我认为这是我需要在ASP/IIS级别解决的问题。
发布于 2015-02-18 19:15:19
好的,这次是明确的回答。
Polymer.import()区分大小写!Polymer.import为导入编写的URL的大小写略有不同。在匹配时,负载错误会消失。
我想我在另一篇与聚合物有关的文章中看到了类似的东西。
https://stackoverflow.com/questions/28573981
复制相似问题