首页 > 解决方案 > 在 Polymer 2.0 中触发从父元素到子元素的事件

问题描述

有人可以提供一个在 Polymer 2.o 自定义元素中从父级向子级发送事件的示例吗?

我尝试了以下操作:

<child-element> 
this.addEventListener('dbinit', this._evdbInitStatus);

<parent-element>
             this.dispatchEvent(new CustomEvent('dbinit', {detail: {kicked: true}}));

回调不会被调用。

标签: polymer-2.x

解决方案


这与 Polymer 本身并没有真正的关系,正如您在有关事件如何工作的文档中看到的那样事件捕获在触发事件的元素处停止,并且事件冒泡(顾名思义,事件冒泡)从元素并在树中上升。

因此,换句话说,由父元素触发的事件不会被子元素捕获。您将需要使用数据绑定来传递数据。

为了保持一致的、可预测的数据流,一般来说,数据通过数据绑定向下传输并通过事件向上传输会更好。


推荐阅读