# ๋ทฐ์ ํ ํ๋ฆฟ ๋ฌธ๋ฒ
๋ทฐ์ ํ ํ๋ฆฟ ๋ฌธ๋ฒ์ด๋ ๋ทฐ๋ก ํ๋ฉด์ ์กฐ์ํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํฉ๋๋ค. ํ ํ๋ฆฟ ๋ฌธ๋ฒ์ ํฌ๊ฒ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ๊ณผ ๋๋ ํฐ๋ธ๋ก ๋๋ฉ๋๋ค.
# ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ
๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ๋ทฐ ์ธ์คํด์ค์์ ์ ์ํ ์์ฑ๋ค์ ํ๋ฉด์ ํ์ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ๋ฐฉ์์ ์ฝง์์ผ ๊ดํธ(Mustache Tag)์ ๋๋ค.
<div>{{ message }}</div>
new Vue({
data: {
message: 'Hello Vue.js'
}
})
div ํ๊ทธ์ ์ฝง์์ผ ๊ดํธ๋ฅผ ์ด์ฉํด ๋ทฐ ์ธ์คํด์ค์ message
์์ฑ์ ์ฐ๊ฒฐํ์ต๋๋ค. ์ฝ๋๋ฅผ ์คํํ๋ฉด ํ๋ฉด์ Hello Vue.js๋ผ๋ ์ฝ๋๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
# ๋๋ ํฐ๋ธ
๋๋ ํฐ๋ธ๋ ๋ทฐ๋ก ํ๋ฉด์ ์์๋ฅผ ๋ ์ฝ๊ฒ ์กฐ์ํ๊ธฐ ์ํ ๋ฌธ๋ฒ์ ๋๋ค. ํ๋ฉด ์กฐ์์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐฉ์๋ค์ ๋ชจ์ ๋๋ ํฐ๋ธ ํํ๋ก ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์๋์ ๊ฐ์ด ํน์ ์์ฑ ๊ฐ์ ๋ฐ๋ผ ํ๋ฉด์ ์์ญ์ ํ์ํ๊ฑฐ๋ ํ์ํ์ง ์์ ์ ์์ต๋๋ค.
<div>
Hello <span v-if="show">Vue.js</span>
</div>
new Vue({
data: {
show: false
}
})
์์ ์ฝ๋๋ show
๋ผ๋ ๋ฐ์ดํฐ ์์ฑ ๊ฐ์ ๋ฐ๋ผ Vue.js ํ
์คํธ๊ฐ ์ถ๋ ฅ๋๊ฑฐ๋ ๋์ง ์๋ ์ฝ๋์
๋๋ค. ๋ ๋ค๋ฅธ ์ฌ๋ก๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
<ul>
<li v-for="item in items">{{ item }}</li>
</ul>
new Vue({
data: {
items: ['shirts', 'jeans', 'hats']
}
})
v-for ๋๋ ํฐ๋ธ๋ฅผ ํ์ฉํ๋ฉด ๋ฐ์ดํฐ ์์ฑ์ ๊ฐ์๋งํผ ํ๋ฉด์ ์์๋ฅผ ๋ฐ๋ณตํ์ฌ ์ถ๋ ฅํ ์ ์์ต๋๋ค. ๋ชฉ๋ก์ ํ์ํด์ผ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค.
์ด์ธ์๋ ์์ฃผ ์ฌ์ฉ๋๋ ๋๋ ํฐ๋ธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- v-bind
- v-on
- v-model
โ Instance Lifecycle Components โ