在创建Polymer元素模板之前导入html文件

时间:2016-06-17 23:25:38

标签: javascript polymer web-component

我有一个元素html-import接受一个href并构建一个新的href来导入。

<html-import href="some.html"></html-import>
<script>
    Polymer({
        is: "html-import",
        ready: function() {
            var href = "outside/config/" + this.href; 
            this.importHref(href)
        }
    })
</script>

元素成功导入元素,但在创建父元素模板之前未使用Polymer注册元素。以下代码向我显示了控制台警告Could not find style data in module named red-css.

<html-import html-href="style/css.html"></html-import>
<dom-module>
    <template>
        <style include="red-css"></style>
    </template>
</dom-module>

有没有办法确保我可以在创建父模板之前动态导入html?

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用&#39;创建&#39;回调,而不是&#39;准​​备好了?

https://www.polymer-project.org/1.0/docs/devguide/registering-elements

答案 1 :(得分:0)

老实说,我不确定你的用例是什么。没有更多细节,我看不出style modules元素的目标是什么?

但是,我猜你正在寻找一种方法来强制加载<style include="xxx">,然后元素可以通过include="xxx"机制使用它。

不幸的是,今天不支持(Polymer 1.5.0) - Polymer在创建时会对import进行填充,因此即使在Polymer处理模板(SELECT COUNT(INVENTORY.itemID) as Stacks, ITEM.itemID, CHARACTERS.charName FROM INVENTORY INNER JOIN ITEM ON INVENTORY.itemID = ITEM.itemID JOIN CHARACTERS ON INVENTORY.charID = CHARACTERS.charID WHERE INVENTORY.quantity>1 GROUP BY ITEM.itemID ORDER BY Stacks DESC GO 代码所在的位置)之前也会发生这种情况。

请查看此GH问题以供参考:https://github.com/Polymer/polymer/issues/3123