首页 文章

聚合物,影子dom,事件和bubbeling

提问于
浏览
1

我有一个聚合物自定义元素使用阴影dom(v1),这个元素是在另一个聚合物自定义元素内,也包裹在阴影dom ..

在我的理解中,当最内部元素引发事件时,最外部元素(应用程序)应该能够监听这些事件 . 这是不正确的?

我在app组件中的评论组件中有一个评级组件 . 评级组件抛出一个事件:

this.dispatchEvent(new CustomEvent('custom-event'), { bubbles:true, composed:true });

但是,app-component中的以下代码永远不会被解雇..

connectedCallback() { 
  super.connectedCallback();
  this.addEventListener('custom-event', () => { console.log('a');});
}

假设事件应该最终在不同的阴影doms到达窗口时一直冒泡,除非有人停止传播,否则我是不正确的?

Thanx任何答案..

约翰 .

1 回答

  • 2

    找到它,我将选项设置为 dispatchEvent 的参数,而不是将选项添加到 CustomEvent .

    而不是

    this.dispatchEvent(new CustomEvent("event"), { options });
    

    你必须做

    this.dispatchEvent(new CustomEvent("event", { options }));
    

相关问题