Input + Output = True
vue 3 - v-for ๋ฐ๋ณต๋ฌธ ๋ณธ๋ฌธ
๐ vue 3 - v-for ๋ฐ๋ณต๋ฌธ
composition API๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค
โ v-for
v-for์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋ฆฌ์คํธ๋ก ๋ ๋๋งํ ์ ์๋ค
v-for ์ฌ์ฉ ์์ ๊ฐ ์๋ฆฌ๋จผํธ๋ฅผ ์ถ์ ํด์ ์ฌ์ฌ์ฉ ๋ฐ ์ฌ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋๋ก ํ๊ธฐ ์ํด ๊ฐ ํญ๋ชฉ์ ๋ํ ๊ณ ์ key ์์ฑ์ด ์์ด์ผ ํ๋ค
์ฆ, ๋ฆฌ์คํธ์ ์์๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ๋ฐ์ดํฐ์ ์ถ๊ฐ, ์ญ์ ๋ฑ ์ฌ์ ๋ ฌ์ด ํ์ํ ๊ฒฝ์ฐ ํด๋น ์๋ฆฌ๋จผํธ์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ๊ณ ์ ํ key ๊ฐ์ด ํ์ํ๋ค
// v-bind:key๋ :key๋ก ์ถ์ฝ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค
<li v-for="(item, index) in items" :key="item.id">
{{ index }} - {{ item.message }}
</li>
const items = ref([
{
id: 1,
message: 'itemA'
},
{
id: 2,
message: 'itemB'
}
])
๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ๋ค
items๋ ๋ ๋๋งํ ๋ฐฐ์ด์ด๋ฉฐ, item์ ๋ฐฐ์ด ๋ด ๋ฐ๋ณต๋๋ ์๋ฆฌ๋จผํธ, index๋ ์์ดํ
์ธ๋ฑ์ค๋ฅผ ์๋ฏธํ๋ค
v-for์ ํด๋น ๋ฐ์ดํฐ์ ๊ธธ์ด๊ฐ 0์ด๋ฉด ํด๋น ์๋ฆฌ๋จผํธ๋ฅผ ๊ทธ๋ฆฌ์ง ์๋๋ค
๋ค๋ฅธ ๋ฐฉ์์ผ๋ก๋ ์ซ์ ๋ฒ์ ๋ด์์ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค
<ul>
<li v-for="n in 10">{{ n }}</li> // n์ 1๋ถํฐ ์์ํ๋ค
</ul>
๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ๋ค
๊ฐ๋ฅํ ํ ์ธ์ ๋ v-for๋ key ์์ฑ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
https://v3-docs.vuejs-korea.org/guide/essentials/list.html
๋ฆฌ์คํธ ๋ ๋๋ง | Vue.js
v3-docs.vuejs-korea.org
'๐จFrontEnd > Vue' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
vue 3 - ์ด๋ฒคํธ ํธ๋ค๋ง (1) | 2023.07.16 |
---|---|
vue 3 - v-if, v-show (0) | 2023.07.12 |
vue 3 - class & style (0) | 2023.07.11 |
vue 3 - computed (computed vs method) (0) | 2023.07.09 |
vue 3 ๋ฐ์ํ - reactive and ref (0) | 2023.07.05 |