Component cũng có thể gởi (dispatch) các sự kiện. Bạn cần phải tạo một event dispatcher để có thể làm điều này. Hãy sửa lại Inner.svelte:
Inner.svelte
<script>
import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher();
function sayHello() {
dispatch('message', {
text: 'Xin chào!'
});
}
</script>Bạn phải gọi
createEventDispatcherkhi component được khởi tạo lần đầu - bạn không thể gọi sau này, chẳng hạn như trong callback củasetTimeout. Việc này sẽ liên kếtdispatchvới instance của component.
Sau đó, thêm hàm xử lý on:message vào App.svelte:
App.svelte
<Inner on:message={handleMessage} />Bạn cũng có thể thay đổi tên của sự kiện. Chẳng hạn như thay đổi
dispatch('message', {...})thànhdispatch('greet', {...})trongInner.sveltevà thay đổi tên thuộc tính từon:messagethànhon:greettrongApp.svelte.