javascript - 如何调用其他元素的方法?

标签 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>

最佳答案

具有 id 的节点反射(reflect)在 $ 哈希中,而不是 this 中,因此

this.$.mything.athing();//返回“你好”

[海报更改了示例以包含缺少的 .$]

修复语法后,我无法重现您的问题。

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

关于javascript - 如何调用其他元素的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22190606/

相关文章:

javascript - 从 polymer 元素返回简单值?

django - 将Polymer-dart与Django生成的html在服务器端一起使用

java - polymer 核心抽屉面板在加载时抛出异常

javascript - 我很奇怪 "Async"模块不能正常工作

javascript - 在 Javascript 中切换开/关按钮

javascript - 正则表达式:匹配未被其他字母包围的单词,并且仅在结果中包含该单词

javascript - Javascript 中变量的函数名称

javascript - 将 svg 图像的 Base 64 定义移动到外部文件中

javascript - 如何通过子值过滤数组javascript

javascript - dom-repeat 不反射(reflect)数据变化