๐ ๋ชฉ๋ก
- Introduction
- Adding Data
- Dynamic Attribute
- Styling
- Nested components
- HTML tags
- Conclusion
- Reference
๐ Introduction
์๋ ํ์ธ์. ์ค๋์ ์ง๋๋ฒ์ ์ด์ด svetle์ ๊ธฐ๋ณธ์ ์ธ ๋ถ๋ถ์ ๋ํด์ ํ๋ฒ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ง์ ๋ถ๋ถ vue์์ ์ํฅ์ ๋ฐ์ ๊ฒ ๊ฐ์ ๋๋์ด ๋๋ค์.
๐ Adding Data
์ผ๋จ ๊ฐ๋จํ๊ฒ hello world์ ๊ทธ๋ ค๋ณด๊ฒ ์ต๋๋ค.
<script>
let name = "world";
name = name.toUpperCase();
</script>
<h1>Hello {name}</h1>
์ฌ๊ธฐ์ ์ ๊ธฐํ๊ฑด ์ด๋ ๊ฒ ํด๋ ๋์ผํ๊ฒ ๋์์ ํฉ๋๋ค.
<h1>Hello {name}</h1>
<script>
let name = "world";
name = name.toUpperCase();
</script>
์์น๋ ๋ฑํ ์๊ด์ด ์์ด๋ณด์ฌ์. ์ด๊ฑธ ํ ๋๋ก ๋์น๋ฅผ ์ฑ์ ์๋ ๋ถ๋ถ์ ๋จ์ javascript ํ์์ผ๋ก๋ง compile์ ํ๋๊ฒ ์๋๊ฑฐ ๊ฐ์์.(์์ง ํ์ค ํ๊ฑด ์๋์ง๋ง ์ต์ข ์ ์ผ๋ก vanila javscript ํ์ผ์ด ์ด๋ป๊ฒ ๋์ค๋์ง ๋ณด๊ณ ๋ ์ ์ถํด๋ณผ๊ฒ์.)
๋๋์ง ์๊ฒ ์ง๋ง ์ด๋ฌํ ๋ฌธ๋ฒ๋ ๊ฐ๋ฅํด์ง๋๋ค.
<h1>Hello {name.toUpperCase()}</h1>
<script>
let name = "world";
// name = name.toUpperCase();
</script>
๐ Dynamic Attribute
์ด์ ํ๋ฒ html atrribute์์ฑ์ ์ง์ ํด๋ณผ๊น์?
<script>
let src = "favicon.png";
</script>
<img src={src} alt="logo" />
์ด๋ ๊ฒ ์ธ์ ์์ต๋๋ค. ํ์ง๋ง ์ด๊ฑธ ์ข๋ ๊ฐ๊ฒฐํ๊ฒ ์ฌ์ฉํ ์ ์์ด์.
<script>
let src = "favicon.png";
</script>
<img {src} alt="logo" />
๐ Styling
์ด ๋ถ๋ถ์ ๋ณด๊ณ ์ ๊ฐ ๊ฝค vue์ ๋ฎ์ ์๊ตฌ๋ ์ถ์๋ ๋ถ๋ถ์ ๋๋ค. ๋ฐ๋ก .svelte ํ์ผ์ style์ ์ธ์ ์์ด์.
<script>
let name = "world";
</script>
<!-- ์ด๋ ๊ฒ vue์ฒ๋ผ ๊ฐ์ ํ์ผ์ style์ ์ธ์ ์์ด์ -->
<style>
h1 {
color: red;
}
</style>
<h1>Hello {name.toUpperCase()}</h1
๐ Nested components
react๋ vue์ฒ๋ผ component๋ฅผ ์ง์ํฉ๋๋ค. ์ด๋ ๊ฒ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์. ๋จผ์ MyButton์ ๋ง๋ค์ด๋ณผ๊ฒ์.
<!-- MyButton.svelte -->
<style>
.my-btn {
color: red;
}
</style>
<button class="my-btn">HELLO</button>
์ด์ App.svelte์์ MyButton์ ํ๋ฒ ๋ถ๋ฌ์๋ณด๊ฒ ์ต๋๋ค.
<script>
import MyButton from "./components/MyButton.svelte";
</script>
<MyButton />
๐ HTML tags
์ด๋ฒ์๋ html tag๋ฅผ data์ฒ๋ผ ์ฌ์ฉํด๋ณผ๊ฒ์.
<script>
let string = `this string contains some <strong>HTML!!!</strong>`;
</script>
<p>{@html string}</p>
@html์ ์ฌ์ฉํด์ string์ html ํ๊ทธ์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๐ Conclusion
์ด๋ ๊ฒ ์ค๋์ svelte์ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค์ ๋ํด์ ์์๋ณด์์ต๋๋ค. ๋ค์ ์๊ฐ์๋ ๊ฐ์ฅ ์ค์ํ reactivity์ ๋ํด์ ์์๋ณผ๊ฒ์. ๊ทธ๋ผ ๋ค์ ํฌ์คํ ์์ ๋ง๋์~ ์๋ !
๐ Reference
'Svelte' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Svelte - Iteration (0) | 2020.12.26 |
---|---|
Svelte - Logic (0) | 2020.12.26 |
Svelte - Props (0) | 2020.12.26 |
Svelte - Reactivity (0) | 2020.12.26 |
Svelte - ์ค์น ๋ฐ ์คํ ๋ฐฉ๋ฒ (0) | 2020.12.26 |