๐ ์ ๋ฒ ํฌ์คํ ์์ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ๋ํด์ ์์๋ณด์๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฆฌ์คํธ ๋ ๋๋ง์ ๋ํด์ ๋ค๋ค๋ณด์.
์์ค ๋ฐ์ดํฐ(Array, Object, Number, String, Iterable)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ ๋๋ ํ ํ๋ฆฟ ๋ธ๋ก์ ์ฌ๋ฌ ๋ฒ ๋ ๋๋ง
v-for๋ alias in expression ํ์์ ํน์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ค.!
์ธ๋ฑ์ค(๊ฐ์ฒด์์๋ key)์ ๋ํ ๋ณ์นญ์ ์ง์ ํ ์ ์์
<div v-for="people in peoples">
{{ people.name }}
{{ people.age }}
</div>
const peoples = ref([
{ name: 'Tony', age: 20 },
{ name: 'Peter', age: 28 },
])

์ด๋ ๊ฒ ์ ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ทธ ์ด์ ๋ key๋ฅผ ์ฌ์ฉํ๋ฉด Vue๊ฐ ๊ฐ ํญ๋ชฉ์ ๊ณ ์ ํ๊ฒ ์๋ณํ ์ ์์ด, ๋ฆฌ์คํธ๊ฐ ๋ณ๊ฒฝ๋ ๋ ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์งํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
let id = 0
const peoples = ref([
{ id: id++, name: 'Tony', age: 20 },
{ id: id++, name: 'Peter', age: 28 },
])
<div v-for="people in peoples" :key="people.id">
{{ people.name }}
{{ people.age }}
</div>
๐ ๊ฒฐ๋ก ์ ์ผ๋ก, v-for์ key๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ์ Vue ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ, ์์ ์ฑ, ๊ทธ๋ฆฌ๊ณ ์์ธก ๊ฐ๋ฅ์ฑ์ ํฌ๊ฒ ํฅ์์ํค๋ ์ค์ํ ๊ดํ์ด๋ค!!
๊ทธ ์ด์ ๋ ๋์ผํ ์์์์ v-if๊ฐ v-for๋ณด๋ค ์ฐ์ ์์๊ฐ ๋ ๋๊ธฐ ๋๋ฌธ์ด๋ค. v-if์์์ ์กฐ๊ฑด์ v-for ๋ฒ์์ ๋ณ์์ ์ ๊ทผํ ์ ์๋ค.

์ด๋ฐ์์ผ๋ก v-for๊ณผ v-if๋ฅผ ๊ฐ์ด ์์ฑํด๋ฒ๋ฆฌ๋ฉด

์ด๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๊ทธ๋ฌ๋ฉด v-for๊ณผ v-if๋ฅผ ๊ฐ์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๊น?
์ ๋ต์ ๋ฐ๋ก computed๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ v-for์ <template> ์์๋ฅผ ํ์ฉํ๋ ๊ฒ์ด๋ค.


