如何在其他元素上调用方法?

时间:2014-03-05 06:49:10

标签: javascript polymer

<link rel="import" href="../bower_components/polymer/polymer.html">
<polymer-element name="my-thing">
    <script>
        Polymer('my-thing', {
            athing: function () { return 'hello' }
        });
    </script>
</polymer-element>

我希望在下面的元素中使用上面定义的元素,并且可以访问athing属性。

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


<polymer-element name="my-hello"">
    <template>
         <my-thing id="mything"></my-thing>
    </template>
    <script>
        Polymer('my-hello', {
            ready: function () {
                this.$.mything.athing() // returns undefined
            }
        });
    </script>
</polymer-element>

1 个答案:

答案 0 :(得分:2)

带有ID的节点反映在$哈希中,而不是this中,所以

this.$.mything.athing(); // returns 'hello'

[海报改变了他的例子以包括遗失的.$]

修复语法后,我无法重新创建您的问题。

http://jsbin.com/tegefura/1/edit