v-show
v-show
v-show
는 태그의 표시 여부를 동적으로 설정할 수 있는 Vue Directive이다. 태그의 생성과는 무관하며, 단지 표시 여부만 결정한다.
사용 예제 - 자기소개서 문항 작성
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue Directive Example</title>
<style>
* {
box-sizing: border-box;
}
.user-input {
width:300px;
resize: none;
}
.warning {
color:red;
}
</style>
</head>
<body>
<div id="app">
<h2>VueJS bind style example</h2>
<h3>Q : 성격의 장/단점에 대해 기술하세요.</h3>
<textarea class="user-input" v-model="content" v-on:input="content = $event.target.value"></textarea>
<div v-bind:class="{warning : isOverflow}">({{contentLength}} / 100)</div>
<div v-show="isOverflow">
최대 1000글자까지만 작성하실 수 있습니다.
</div>
<button v-show="isButtonVisible">
제출하기
</button>
</div>
<script src="https://unpkg.com/vue@next"></script>
<script>
const app = Vue.createApp({
data(){
return {
content:"",
};
},
computed:{
contentLength(){
return this.content.length;
},
isEmpty(){
return this.contentLength == 0;
},
isOverflow(){
return this.contentLength > 100;
},
isButtonVisible(){
return !this.isEmpty && !this.isOverflow;
},
},
});
app.mount("#app");
</script>
</body>
</html>
실행하면 textarea에 입력한 값에 따라 글자수가 변화하고, 100글자를 기준으로 하단의 경고 문구 또는 버튼의 표시 여부가 달라진다는 것을 확인할 수 있다.
Last updated