如何在父级Svelte组件中使用事件委托

时间:2019-09-17 07:53:25

标签: event-handling addeventlistener svelte

在此示例中,如果我单击Tutorial NavItem,则会进入Tutorial 部分。在这里,我转发了每个导航项上的自定义click事件,在该事件中设置了被点击的细分。在app.svelte中,我拉入NavItem组件,并将该段设置为current,这会(通过Props)告诉Nav Component,哪个段是当前的并且需要激活。

我的问题是我如何利用事件委托,因此Nav组件会侦听click事件,所以不会感到重复

最小的示例是这样,我希望父母处理该事件吗?: https://svelte.dev/repl/691e82ee168549c782b61c355e78cf9b?version=3.12.1

这是一个复杂的Ex。代表: https://svelte.dev/repl/691e82ee168549c782b61c355e78cf9b?version=3.12.1

1 个答案:

答案 0 :(得分:0)

我看到您已经使用了getContextsetContext功能。除了触发事件,您还可以简单地更新该上下文:

NavItem.svelte中的

function setSegment(){
    current.set(segment);
 }