(8)svelte 教程: Event Forwarding
什么是 Event Forwarding
Event Forwarding 是 Svelte 框架中的一个概念,指的是将一个组件的事件(如点击、鼠标悬停等)转发给其父组件。这样,父组件可以监听和处理子组件中的事件。通过这种方式,可以减少代码的重复和复杂度,同时提高组件的可复用性和模块化程度。
逐行解释代码
App.svelte
<script>
import Modal from './Modal.svelte';
let showModal = false;
let toggleModal = () => {
showModal = !showModal;
};
</script>
-
import Modal from './Modal.svelte';- 从当前目录中导入名为
Modal的 Svelte 组件。
- 从当前目录中导入名为
-
let showModal = false;- 声明一个名为
showModal的变量,初始值为false。这个变量用来控制Modal组件的显示与隐藏。
- 声明一个名为
-
let toggleModal = () => { showModal = !showModal; };- 声明一个名为
toggleModal的箭头函数。该函数的作用是将showModal的值在true和false之间切换(即点击一次切换显示状态)。
- 声明一个名为
<Modal message='Hello, Ninjas!' {showModal} on:click={toggleModal} />
<main>
<button on:click={toggleModal}>Open Modal</button>
</main>
-
<Modal message='Hello, Ninjas!' {showModal} on:click={toggleModal} />- 使用
Modal组件,并传递三个属性:message='Hello, Ninjas!':向Modal组件传递一个名为message的字符串属性,值为 ‘Hello, Ninjas!’。{showModal}:传递showModal变量的当前值给Modal组件,使其能根据该值决定是否显示。on:click={toggleModal}:监听Modal组件的click事件,当该事件触发时,调用toggleModal函数。
- 使用
-
<main>和<button on:click={toggleModal}>Open Modal</button>- 创建一个
main元素,并在其内部创建一个按钮。 on:click={toggleModal}:为按钮绑定click事件,当按钮被点击时,调用toggleModal函数,切换showModal的值,从而控制Modal的显示与隐藏。
- 创建一个
Modal.svelte
<script>
export let showModal = false;
export let isPromo = false;
export let message = 'default message';
</script>
-
export let showModal = false;- 声明并导出一个名为
showModal的变量,初始值为false。这个变量由外部(父组件)传入,用来控制Modal组件的显示与隐藏。
- 声明并导出一个名为
-
export let isPromo = false;- 声明并导出一个名为
isPromo的变量,初始值为
- 声明并导出一个名为

最低0.47元/天 解锁文章
6352

被折叠的 条评论
为什么被折叠?



