1

Javascript から Web コンポーネントを直接インスタンス化しようとしていますが、システムがパブリック コンストラクターを見つけられません。コンテキストと結果を示す簡単な例を示します。

HTML テンプレート:

<polymer-element name="wc-foo" constructor="Foo" noscript>
    <template>
       Hello World!
    </template>  
</polymer-element>

HTML インデックス:

<html>
<head>
    <script src="general/scripts/polymer/polymer.min.js"></script>
    <link rel="import" href="...">
</head>

<body>  
</body>

<script>
    console.log (window); // (1)
    console.log (window.Foo); // (2)
    var foo = new Foo (); // (3)
</script>

</html>

コンソールの結果:

(1) ウィンドウ オブジェクトを確認したところ、コンストラクター Foo: function (){return f(a)} が含まれています (2) window.Foo 以外は不明 (3) ...そして、 new Foo() が失敗する: Uncaught ReferenceError: Foo is not defined

誰かが問題を理解するのを手伝ってくれますか? ありがとう。

4

1 に答える 1

3

polymer-readyPolymer がセットアップを完了したことを確認するには、イベントが発生するのを待つ必要があります。

document.addEventListener('polymer-ready', function() {
  console.log (window.Foo); // (2)
  var foo = new Foo (); // (3)
  console.log(foo)
});

デモ: http://jsbin.com/dabaloso/1/edit

于 2014-03-06T00:15:04.083 に答える