我有一个具有data
属性的子自定义元素
我的目标是在父元素的上下文中为此属性分配一个事件监听器(使用javascript而不是{{}}数据绑定语法)。
我搜索这样的东西:
ready(){
this.addEventListener(this.$.childElememt.data, _onChildDataChange);
},
_onChildDataChange() {
//called when data property of child elememt changes
}
答案 0 :(得分:4)
在Polymer中,对其设置notify: true
的属性将导致该元素触发其父级可以侦听的非冒泡<property>-changed
事件。
我怀疑你可以通过这样的方式手动监听这个事件(假设子属性设置为通知):
ready() {
this.$.childElement.addEventListener('data-changed', this._onChildDataChange.bind(this));
},
_onChildDataChange() {
//called when data property of child element changes
}
但是,这实际上等同于在父属性上使用观察者对子进程使用双向数据绑定语法,因此我建议您尽可能地使用它。数据绑定基本上已经为你做了完全相同的事情。