首页 文章

从一个聚合物组件调用一个功能到另一个

提问于
浏览
1

我使用Polymer,Html和Javascript .

我想找到一种从一个聚合物组件到另一个聚合物组件调用功能的简单方法 . 让我来描述一下我想要实现的目标 .

我有聚合物成分 myComponent . 在这个带有名为 start 的按钮的组件容器中:

<button on-click="_start" id="start">XyZ</button>

还有第二个组件(假设它是子组件,因为它在 myComponent 中,我在 <script> 部分中有函数 _addNew .

现在我想通过单击带有 #start id的按钮来激活 _addNew 功能 . 我的问题是,当这个函数放在另一个聚合物组件中时,如何从一个聚合物组件调用一个函数?

我希望你能理解我 .

2 回答

  • 2

    如果我理解正确的话,基本上你想要做的就是从一个组件中激发并在另一个组件中进行侦听 .

    所以你从myComponent,在_start方法中触发,如:

    this.fire('add:new');
    

    然后通过为此特定事件名称添加侦听器来侦听其他组件中的add:new事件:

    listeners: {
       'add:new': '_addNew'
    },
    

    如果它不够明确,请阅读Polymer documentation这是一个非常好的和解释良好的文档 .

    希望能帮助到你 .

  • 0

    在我的情况下,这不起作用,因为this.fire“向上”到父组件,而不是子组件 .

    在我的情况下,这一个帮助:

    this.$$('component-name').function-name();

相关问题