是否可以从另一个元素访问元素函数?聚合物1.0

is it possible to access an elements function from another element? polymer 1.0

假设我有一个 element A

//imports
<dom-module id="element-A">
    <style></style>
<template>
    <content>
      //some content
    </content>
</template>

<script>
    // element registration
    Polymer({
        is: "element-A",
        aCustomFunction: function(e){
          //just some code
        }
    });
</script>

如果我想从另一个不同的元素访问函数 aCustomFunction 怎么办?

您可以按照常规方式进行,例如

如果我有这个元素

<element-A id="someid"></element-A>

所以我可以去做

 var element = document.getElementById("someid");
 element.aCustomFunction('someE');

 this.$.someid.aCustomFunction('someE');

在某些情况下,getElementById 不起作用您可以使用适当的聚合物 api 来查找此元素。 你不必做一些特别的事情但找到元素并像对象一样使用它的想法。

如果你想在另一个元素中使用一个元素的功能,那么你必须使用behaviors。 这是根据 Polymer 的规则扩展组件的简单方法。