๐ SFC(Single File Component)์ ๋ํด์ ์์๋ณด๋๋ก ํ์. ๋ค์ด๊ฐ๊ธฐ์ ์์ Component๋ ๋ฌด์์ผ๊น? Component๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ๋ธ๋ก์ด๋ค. ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ์น ์๋น์ค๋ ์ฌ๋ฌ ๊ฐ์ Component๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
Vue.js์์ ์ฌ์ฉ๋๋ ํน๋ณํ ํ์ผ ํ์์ผ๋ก, ํ๋์ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ฑํ๋ ํ ํ๋ฆฟ(HTML), ์คํฌ๋ฆฝํธ(JavaScript), ์คํ์ผ(CSS)์ ๋ชจ๋ ํ๋์ .vue ํ์ผ์ ํฌํจ์ํค๋ ๋ฐฉ์
<template> ๋ธ๋ก
๊ฐ *.vue ํ์ผ์ ์ต์์ <template> ๋ธ๋ก์ ํ๋๋ง ํฌํจํ ์ ์๋ค.
<script setup> ๋ธ๋ก
๊ฐ *.vue ํ์ผ์ <script setup> ๋ธ๋ก์ ํ๋๋ง ํฌํจํ ์ ์์ (์ผ๋ฐ <script> ์ ์ธ)
์ปดํฌ๋ํธ์ setup() ํจ์๋ก ์ฌ์ฉ๋๋ฉฐ ์ปดํฌ๋ํธ์ ๊ฐ ์ธ์คํด์ค์ ๋ํด ์คํ
-> ๋ณ์ ๋ฐ ํจ์๋ ๋์ผํ ์ปดํฌ๋ํธ์ ํ ํ๋ฆฟ์์ ์๋์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
<style scoped> ๋ธ๋ก
*.vue ํ์ผ์๋ ์ฌ๋ฌ <style> ํ๊ทธ๊ฐ ํฌํจ๋ ์ ์์
scoped๊ฐ ์ง์ ๋๋ฉด CSS๋ ํ์ฌ ์ปดํฌ๋ํธ์๋ง ์ ์ฉ๋จ
์ด๋ฒ ํฌ์คํ ์์๋ SFC์ ๋ํด์ ์์๋ณด์๋ค. ๋ค์ ํฌ์คํ ์์๋ Vue project๋ฅผ ์์ฑํ๋ ๋ฒ์ ๋ํด์ ์์๋ณด์.