Google聚合物:从元素外部聆听属性更改

tor*_*dro 5 javascript events callback listener polymer

我目前正在使用Google Polymer构建控件.我想知道是否有可能从元素外部听取属性更改事件.我当前的解决方法是在调用propertyChanged-method时从我的其他元素中侦听一个显式事件.

// Property change in child element

Polymer('some-input', {
    valueChanged: function() {
        this.fire('valueChanged', this.value)
    }
});

[...]

// Listening in the parent element
ready: function() {
    this.$.someinput.addEventListener('valueChanged', function(evt) {
        var value = evt.detail;
        [...]
    });
}
Run Code Online (Sandbox Code Playgroud)

你知道我是否可以直接听取房产变更事件?

谢谢,佩德罗

ebi*_*del 7

如果您的父元素在a中<polymer-element>,则元素之间"通信"的简单方法是在其已发布的属性上使用数据绑定:

<parent-element value="{{val}}">
  <some-input value="{{val}}"></some-input>
</parent-element>
Run Code Online (Sandbox Code Playgroud)

我们认为这是"聚合"方式,因为它非常具有声明性并且利用了数据绑定等功能.

如果父元素不在Polymer元素中,则可以像您建议的那样使用事件委托.我写了一篇文章,介绍了在您可能感兴趣的元素之间共享信息的不同方法:通信和消息传递

  • 链接已死:( (2认同)