我已经成功用dart动态创建聚合物组件并添加到dom中。在飞镖聚合物中动态导入HTML模板
但现在我想这样做无需必须在编译时静态导入HTML模板。
在我的使用案例中,我有一个ID为myContainer
的div容器和一个定制的Polymer Dart组件,其标签为my-tag
。
我tryied有:
LinkElement e = new LinkElement('link');
e.rel = 'import';
e.href= 'my-tag.html';
document.head.children.add(e);
$['myContainer'].children.add(new Element.tag('my-tag'));
但这结束,以下情况例外:
Uncaught HierarchyRequestError: Failed to execute 'appendChild' on 'Node': Nodes of type 'HTML' may not be inserted inside nodes of type '#document'.
...
注意,当聚合物元素被添加到DOM,而不是异常瑞森添加链接标签时。如果在编译时添加链接并评论在运行时添加链接的代码,也可以使用相同的代码。
我也尝试过几种不同的上述代码,主要是在polymerInit
或polymerInit().run(...)
之前调用的单独方法中添加链接标记,但没有任何更改。
我想知道这个用例是否被支持。
为什么你不想静态添加导入?我认为聚合物变形金刚在你建立这个项目时需要它们。 – 2014-09-19 09:01:00
因为我想创建一个组件库,在用户点击时通过导航框架显示在内容区域中。我已经需要从“导航器”的飞镖侧导入每个组件,但这并不是很糟糕,因为我需要注册“路线”。但是我试图找到一种不在HTML端包含HTML模板的方法,并尽量减少了添加新“页面”所需的工作。 – 2014-09-19 09:16:43
您可以创建一个变压器。 – 2014-09-19 09:17:10