일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- IOS
- data structure
- 자바스크립트
- 스위프트
- 계명대 이종호
- TDD
- 비동기
- SWIFT
- 스벨트
- 자료구조
- 계명대
- 개발
- 자바스크립트 자료구조
- 자스민
- react
- 개발자
- hokidoki
- 리액트
- Svelte
- javascript
- 호키도키
- Hitit
- hokeys
- jest
- 힛잇
- HTML
- 리액트 예제
- 이종호
- 호키스
- queue
Archives
- Today
- Total
Dog foot print
[SVELTE] on:eventname 본문
on:eventname
on:eventname={handler}
on:eventname|modifiers={handler}
스벨트에서는 on:
키워드를 컴포넌트에 입력하는 것으로 해당 컴포넌트에서 발생하는 DOMevent
를 연결 할 수 있습니다.
<script>
let count = 0;
function handleClick(event) {
count += 1;
}
</script>
<button on:click={handleClick}>
count: {count}
</button>
이벤트 핸들러는 성능의 영향을 주지않고 인라인으로 선언 할 수 있습니다. '
따옴표와 함께 사용하는 경우, 스벨트 문법은 하이라이팅 되며, 정상 작동 합니다.
<button on:click="{() => count += 1}">
count: {count}
</button>
preventDefault 같은 모디파이어를 사용하는 경우 |
문자와 함께 사용 할 수 있습니다.
<form on:submit|preventDefault={handleSubmit}>
<!-- the `submit` event's default is prevented,
so the page won't reload -->
</form>
사용 할 수 있는 modifier의 종류는 다음과 같습니다.
- preventDefault - 이벤트 핸들러가 실행 되기전에 event.preventDefault()가 실행됩니다.
- stopPropagation - 다음 엘리먼트로 이벤트가 전파되는 것을 막습니다. preventDefault와 동일하게 event.stopPropagation을 호출합니다.
- passive - 스크롤 혹은 휠 이벤트의 성능을 올려줍니다. 스벨트는 기본적으로 이 모디파이어를 실행 합니다.
- nonpassive - passive 옵션을 false로 할당 합니다.
- capture - 버블링 대신에 캡쳐링을 실행합니다.
- once - 한번 이벤트가 발생하면 이벤트 핸들러를 삭제합니다.
- self - event.target과 엘리먼트가 일치하는 경우 실행 합니다.
eventModifier를 체인 형식으로 작성 할 수 있습니다.on:click|once|capture={...}
만약 이벤트의 이름과 연결할 함수의 이름이 같다면, ={}
을 생략 할 수도 있습니다.
<button on:click>
The component itself will emit the click event
</button>
또한 이벤트를 여럿 작성하여, 한 이벤트가 발생했을 때 다른 이벤트를 같이 실행 할 수도 있습니다.
<script>
let counter = 0;
function increment() {
counter = counter + 1;
}
function track(event) {
trackEvent(event)
}
</script>
<button on:click={increment} on:click={track}>Click me!</button>
#svelte #event
반응형
'SVELTE > API DOCS' 카테고리의 다른 글
[SVELTE]use:action (0) | 2021.06.10 |
---|---|
[SVELTE] bind:group & this (0) | 2021.06.10 |
[SVELTE] @HTML (0) | 2021.05.21 |
[SVELTE] #key (0) | 2021.05.21 |
[SVELTE] #each (0) | 2021.05.21 |
Comments