3

我需要知道何时可以开始以编程方式使用我的自定义 Polymer 元素。这些元素仍然undefined在我的window.onload处理程序中。Polymer 1.0 是否有既定的方法可以正确执行此操作?

-编辑-

我看到有人反对,所以让我澄清一下这个问题。我有以下自定义元素定义:

<link rel="import" href="../../bower_components/polymer/polymer.html">

<dom-module id="element-one">
    <style>
        :host { display: block; background-color: blue; }
    </style>
    <template>
        <h1>Element One</h1>
        <content></content>
    </template>
</dom-module>

<script>
var ElementOne = Polymer({
    is: "element-one"
});
</script>

然后我将其导入我的index.html

<link rel="import" href="elements/element-one/element-one.html">

index.html在标签的底部</body>,我尝试实例化一个ElementOne元素:

<script>
    console.log(typeof ElementOne); // undefined
    var el = new ElementOne(); // fails, obviously

    // try on window load
    window.onload = function () {
        console.log(typeof ElementOne); // undefined
    };
</script>

我应该注意到这个问题发生在最新的 Firefox 和 IE 10/11 中,但不在 Chrome 中。

4

1 回答 1

14

使用WebComponentsReady事件:

window.addEventListener('WebComponentsReady', function(e) {
...
});
于 2015-06-05T14:25:35.993 回答