컴포넌트 통신방법 2 : dispatch
2. 상향식 전달: 하위 컴포넌트 → 상위 컴포넌트
: dispatch를 이용해 하위 컴포넌트에서 상위 컴포넌트의 함수를 호출해 사용 할 수 있습다.
// child.svelte
<script>
import { createEventDispatcher } from 'svelte'
const dispatch = createEventDispatcher()
function addAction(param) {
console.log(param)
dispatch('add', {
value : param,
message: param + ' 값 추가'
})
}
</script>
<button on:click={() => addAction(10)} >Add 10</button>
<button on:click={() => addAction(20)} >Add 20</button>
// first.svelte
<script>
import SubChild from './subChild.svelte'
</script>
<SubChild on:add />
// App.svelte
<script>
import First from './first.svelte'
let value = 0
function handleValueAdd(event) {
value = value + event.detail.value
}
</script>
<p>value : {value}</p>
<Child on:add={handleValueAdd} />하위 컴포넌트에서 발생된 값은 event.detail 안에 들어가 있는 것을 알 수 있습니다.
예제 - dispatch
App.svelte
panelComponent.svelte
buttonComponent.svelte

Last updated
Was this helpful?