Svelte:多层次的事件转发



在第一次处理事件后,使用createEventDispatcher调度事件转发停止,是否有方法在多个级别上调度消息?

例如:App.svelte

<script>
import Outer from './Outer.svelte';
function handleMessage(event) {
alert(event.detail.value);
}
</script>
<Outer on:message={handleMessage}/> // but I want it to also get handled here

Outer.svelte

<script>
import Inner from './Inner.svelte';

function handleMessage(event) {
console.log(event.detail.text);
}
</script>
<Inner on:message={handleMessage}/> // Here the object get handled for the first time?

Inner.svelte:

<script>
import {createEventDispatcher} from 'svelte';
const dispatch = createEventDispatcher();
function sayHello() {
dispatch('message', {
text: 'Hello!'
});
}
</script>
<button on:click={sayHello}> // click this button the message get sent
click to say hello
</button>

您可以处理和转发类似REPL 的事件

外显瘦
<Inner on:message={handleMessage} on:message/>

最新更新