๐ ๋ชฉ๋ก
- Introduction
- DOM events
- DOM modifiers
- Component Event
- Conclusion
- Reference
๐ Introduction
์๋ ํ์ธ์. ์ค๋์ svetle์ events์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
๐ DOM events
์ด์ ์ ํ๋ฒ ๋ค๋ค๋ฏ์ด :on
์ผ๋ก event๋ฅผ listen ํ ์ ์์ต๋๋ค.
<script>
const onClick = () => {
console.log('HELLO');
};
</script>
<button on:click={onClick}>HELLO</button>
๋ํ inline์ผ๋ก๋ ํ ์ ์์ด์.
<button on:click={() => { console.log('HELLO') }}>HELLO</button>
๐ DOM modifiers
event modifiers์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์์.
<button on:click|once={() => { console.log('HELLO') }}>HELLO</button>
์ด 7๊ฐ์ง modifiers๊ฐ ์กด์ฌํฉ๋๋ค.
- preventDefault
-> handler๋ฅผ ํธ์ถํ๊ธฐ ์ ์ event.preventDefault()
๊ฐ ๋์๊ฐ๋๋ค.
- stopPropagation
-> handler๋ฅผ ํธ์ถํ๊ธฐ ์ ์ event.stopPropagation()
๊ฐ ๋์๊ฐ๋๋ค.
- passive
-> ํฐ์น๋ wheel ์ด๋ฒคํธ์ ํผํฌ๋จผ์ค๋ฅผ ํฅ์ ์ํต๋๋ค.
- nonpassive
-> passive๋ฅผ false๋ก ์ธํ ํฉ๋๋ค.
- capture
-> ์ด๋ฒคํธ ์บก์ณ๋ฅผ ์์ผ์ค๋๋ค.
- once
-> ๋ฑ ํ๋ฒ๋ง ์ด๋ฒคํธ๋ฅผ ํธ์ถ ์ํต๋๋ค.
7.self
-> ์๋ฆฌ๋จผํธ์ ์ด๋ฒคํธ๋ง ์ก๊ฒ ๋ฉ๋๋ค.
์ด ๋ชจ๋ modifiers๋ chain์ผ๋ก ๊ฐ๋ฅํฉ๋๋ค.
๐ Component Event
์ปดํฌ๋ํธ์์ ๋ถ๋ชจ์๊ฒ ์ด๋ฒคํธ๋ฅผ ์ ๋ฌํด์ค์ ์์ต๋๋ค. Vue์์์ emit๊ณผ ๋น์ทํด์.
<script>
// MyButton.svelte
import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher();
const onClick = () => {
dispatch('click');
};
</script>
<style>
.my-btn {
color: red;
}
</style>
<button class="my-btn" on:click={onClick}>HELLO</button>
<script>
import MyButton from "./components/MyButton.svelte";
const onClickMyButton = () => {
console.log("HELLO");
};
</script>
<MyButton on:click={onClickMyButton}/>
๐ Conclusion
์๋ ํ์ธ์. ์ค๋์ ์ด๋ ๊ฒ svelte์์์ event handling์ ๋ํด์ ์์๋ณด์์ต๋๋ค. ๋๊ฒ vue์ ํก์ฌํ๋ค๋ ๋๋์ ๋ง์ด ๋ฐ์๋๊ฑฐ ๊ฐ์์. ์ด์ ๋ค์ ํฌ์คํ ์์๋ vue์ ๋ ๋น์ทํ bind์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ผ ์๋ ~~๐
๐ Reference
'Svelte' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Svelte - Await Block (0) | 2020.12.27 |
---|---|
Svelte - Iteration (0) | 2020.12.26 |
Svelte - Logic (0) | 2020.12.26 |
Svelte - Props (0) | 2020.12.26 |
Svelte - Reactivity (0) | 2020.12.26 |