728x90
Vue.js Vue v-if와 v-show 개념 및 예제
토글이 자주 일어난다면 v-show를 사용하고, 그렇지 않다면 v-if를 사용하는 것을 권장한다.
코드 - if / else
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>뷰 v-if</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<div v-if="show">Hello Vue!</div>
<div v-else>Bye!</div>
<button @click="toggle">Click!</button>
</div>
<script>
new Vue({
el: '#app',
data: {
show: true
},
methods: {
toggle() {
this.show = !this.show;
}
}
})
</script>
</body>
</html>
실행 결과
코드 - if / else / else if
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>뷰 v-if</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<template v-if="number === 2">
<div>H</div>
<div>E</div>
<div>L</div>
<div>L</div>
<div>O</div>
</template>
<div v-else-if="number === 5">Five!!</div>
<div v-else>Bye!</div>
<button @click="plus">Plus!</button> {{ number }}
</div>
<script>
new Vue({
el: '#app',
data: {
number: 1
},
methods: {
plus() {
this.number++;
}
}
})
</script>
</body>
</html>
실행 결과
코드 - template으로 여러 개 한번에 제어하기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>뷰 v-if</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<template v-if="show">
<div>H</div>
<div>E</div>
<div>L</div>
<div>L</div>
<div>O</div>
</template>
<div v-else>Bye!</div>
<button @click="toggle">Click!</button>
</div>
<script>
new Vue({
el: '#app',
data: {
show: true
},
methods: {
toggle() {
this.show = !this.show;
}
}
})
</script>
</body>
</html>
실행 결과
코드 - show
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>뷰 v-show</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<div v-show = "show">Hello Vue!!</div>
<button @click="toggle">Click!</button>
</div>
<script>
new Vue({
el: '#app',
data: {
number: 1,
show: false
},
methods: {
plus() {
this.number++;
},
toggle() {
this.show = !this.show;
}
}
})
</script>
</body>
</html>
실행 결과
728x90
'개념정리 > Vue.js' 카테고리의 다른 글
[Vue.js] 여러 개의 Vue 인스턴스 사용하기 (2) | 2022.04.26 |
---|---|
[Vue.js] Vue v-for와 key 개념 및 예제 (1) | 2022.04.26 |
[Vue.js] Vue 클래스와 스타일 바인딩 개념 및 예제 (1) | 2022.04.26 |
[Vue.js] Vue watch 속성 개념 및 예제 (1) | 2022.04.26 |
[Vue.js] Vue computed 속성 개념 및 예제 (0) | 2022.04.26 |
댓글