Sveltejs Academy · 课时

使用 on:click 转发事件

使用原始的 on: 指令将组件事件重新发射给父组件。

第 4 / 4 课13 个步骤

使用 on:click 转发事件 是 CoddyKit 上的免费 Sveltejs Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Sveltejs Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Sveltejs Academy 课程共包含 4 节课。

事件转发

若要将子元素的事件通过您的组件重新发出,可以在没有处理函数的情况下编写 on:event。

基本转发

这样会将内部按钮的点击事件转发给 MyButton 的使用方。

<button on:click>Click</button>

作为父组件进行监听

父组件监听该组件的方式与监听 DOM 元素相同。

<MyButton on:click={handle} />

转发多个事件

您可以转发任意数量的原生事件。

<input on:input on:focus on:blur />

包装组件的优势

这种模式对于构建按钮、输入框和链接等包装组件至关重要。

与自定义事件结合

您可以自由地将转发的 DOM 事件与自己的 createEventDispatcher 事件结合使用。

保留事件对象

转发的事件到达父组件时,原始 DOM 事件对象会保持完整。

无需使用修饰符

如果希望由父组件负责修饰符,请不要在子组件上添加修饰符。

与自定义事件的区别

转发会重新发出真实的 DOM 事件;自定义分发则会创建新事件。

适用于 TypeScript

当父组件在 TypeScript 中声明转发事件时,这些事件仍会保留精确的类型。

实际应用

大多数设计系统组件都使用事件转发,从而无需列出每个属性也能保持灵活。

快速检查

没有处理函数的 on:click 有什么作用?

回顾

不带处理函数的 on:event 指令会将 DOM 事件向上转发给组件的父组件,从而实现简洁的包装组件接口。

免费开始

用 AI 导师学习 HTML — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
41
课程
163

常见问题解答

「使用 on:click 转发事件」课时是免费的吗?

是的 — 「使用 on:click 转发事件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Sveltejs Academy 课程的其余内容,请升级到 CoddyKit PRO。 Sveltejs Academy 课程共包含 4 节课。

「使用 on:click 转发事件」这节课中我会学到什么?

使用原始的 on: 指令将组件事件重新发射给父组件。 你通过在浏览器中直接运行的动手代码来练习 Sveltejs Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Sveltejs Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Sveltejs Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「使用 on:click 转发事件」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Sveltejs Academy 课中编写并运行代码吗?

能。每节 Sveltejs Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. on:click、on:input、on:submit
  2. 事件修饰符:preventDefault、stopPropagation、once
  3. 使用 createEventDispatcher 创建自定义事件
  4. 使用 on:click 转发事件
← 返回 Sveltejs Academy