728x90
๋ฐ์ํ
v-if ~ v-else-if ~ v-else
์ค๋ช
๐ ์กฐ๊ฑด๋ถ๋ก ๋ธ๋ก์ ๋ ๋๋งํ๋ ๋ฐ ์ฌ์ฉ - true์ผ ๋๋ง ๋ ๋๋ง
Type
<div v-if="type === 'A'">
A
</div>
<div v-else-if="type === 'B'">
B
</div>
<div v-else-if="type === 'C'">
C
</div>
<div v-else>
A/B/C ์๋
</div>
v-show
์ค๋ช
๐ ํญ์ ๋ ๋๋ง๋๊ณ DOM์ ๋จ์ ์๋ค, CSS ์์ฑ๋ง ์ ํ
Type
<h1 v-show="ok">์๋
!</h1>
v-for
์ค๋ช
๐ ๋ฐฐ์ด์ ๋ฆฌ์คํธ๋ก ๋ ๋๋ง item in items
Type
<script setup>
const items = ref([{ message: 'Foo' }, { message: 'Bar' }])
</script>
<template>
<ul>
<li v-for="value in myObject">
{{ value }}
</li>
</ul>
</template>
์ฌ์ฉ๋ฒ
๊ฐ์ฒด์ v-for ์ฌ์ฉํ๊ธฐ
<script setup>
const myObject = reactive({
title: 'Vue์์ ๋ชฉ๋ก์ ์์ฑํ๋ ๋ฐฉ๋ฒ',
author: 'ํ๊ธธ๋',
publishedAt: '2016-04-10'
})
</script>
<template>
<ul>
<li v-for="value in myObject">
{{ value }}
</li>
</ul>
</template>
์ซ์ ๋ฒ์์ v-for ์ฌ์ฉํ๊ธฐ
1...n ๋ฒ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ํ๋ฆฟ์ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต
<span v-for="n in 10">{{ n }}</span> <!-- 1๋ถํฐ 10๊น์ง -->
<template>์์ v-for ์ฌ์ฉํ๊ธฐ
์ฌ๋ฌ ์๋ฆฌ๋จผํธ ๋ธ๋ก์ ๋ ๋๋ง
<template>
<ul>
<template v-for="item in items">
<li>{{ item.msg }}</li>
<li class="divider" role="presentation"></li>
</template>
</ul>
</template>
์ฐ์ ์์
- v-if > v-for
- ๋ฐ๋ผ์ ์๋ก ๊ฐ์ด ์ฐ๋๊ฑธ ๊ถ์ฅํ์ง ์์
v-if & v-show
- ์ผ๋ฐ์ ์ผ๋ก v-if๋ ์ ํ ๋น์ฉ์ด ๋ ๋๊ณ , v-show๋ ์ด๊ธฐ ๋ ๋๋ง ๋น์ฉ์ด ๋ ๋์.
- ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- v-show : ๋งค์ฐ ์์ฃผ ์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ
- v-if : ์คํ ์ค์ ์กฐ๊ฑด์ด ๋ณ๊ฒฝ๋์ง ์๋ ๊ฒฝ์ฐ
๋ฐ์ํ
'์ธ์ด > Vue.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ์ํ API (0) | 2024.03.29 |
---|---|
์ข ์ (์์กด์ฑ ์ฃผ์ ) (0) | 2024.03.29 |
๋ฐ์ดํฐ๋ฐ์ธ๋ฉ (0) | 2024.03.29 |
ํน์ ์๋ฆฌ๋จผํธ (0) | 2024.03.29 |
๋๋ ํฐ๋ธ (0) | 2024.03.28 |