web组件Polymer.import() - 支持组合?

时间:2015-02-18 00:44:05

标签: polymer

我已经成功地使用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()的任何组合示例,所以我想知道它是否支持?

我实际上一直在尝试对聚合物核心组件进行一些测试,我知道这些组件在复合材料方面没有什么成功和相同的错误。

所以我想知道其他人是否有成功完成此操作的示例代码段?

欣赏任何提示!感谢

2 个答案:

答案 0 :(得分:0)

进一步调查和简化问题到基本的index.html页面而不是ASP Razor页面(用于提供主要内容),我已经能够证明Polymer.import的组合工作正好。我更复杂的元素现在可以正确显示。

问题似乎是.import()无法正确解析根应用程序URL,我认为这是我需要在ASP / IIS级别解决的问题。

答案 1 :(得分:0)

这次确定答案。

Polymer.import()是CASE敏感的!我为导入组成的URL的情况略有不同。在完全匹配时,负载错误消失。

我想我在另一个聚合物相关的帖子中看到了类似的东西。