我已經成功用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