面试题答案
一键面试- 在子组件中创建和分发自定义事件:
- 首先,在子组件中,使用
createEventDispatcher
函数来创建一个事件分发器。这个函数是 Svelte 提供的用于创建分发事件机制的工具。 - 然后,在需要的地方,比如某个按钮的点击事件处理函数中,使用事件分发器来触发自定义事件,并可以传递相关的数据。
- 以下是子组件
Child.svelte
的代码示例:
- 首先,在子组件中,使用
<script>
import { createEventDispatcher } from'svelte';
const dispatch = createEventDispatcher();
function handleClick() {
const data = { message: 'Hello from child!' };
dispatch('custom - event', data);
}
</script>
<button on:click={handleClick}>Click me to dispatch custom event</button>
- 在父组件中监听自定义事件:
- 在父组件中,引入子组件,并使用
on:自定义事件名
的形式来监听子组件分发的自定义事件。 - 以下是父组件
Parent.svelte
的代码示例:
- 在父组件中,引入子组件,并使用
<script>
import Child from './Child.svelte';
function handleCustomEvent(event) {
console.log('Received custom event data:', event.detail);
}
</script>
<Child on:custom - event={handleCustomEvent} />
在上述代码中:
- 子组件
Child.svelte
创建了一个custom - event
自定义事件,并在按钮点击时分发该事件,同时传递了一个包含message
的对象数据。 - 父组件
Parent.svelte
监听了Child.svelte
分发的custom - event
事件,并在事件触发时,通过event.detail
获取子组件传递的数据并打印到控制台。