Written by
최태열
on
on
Vue bind class
v-bind:class
style 적용 부분 즉 class 속성에 다음과 같이 개발 하겠다는 의미
<style>
.set1 {
background-color: yellow;
color: purple;
}
.set2 {
text-align: center;
width: 220px;
}
</style>
<div id="app">
<button v-bind:class = "{set1:s1, set2:s2}">2. class 속성 적용 버튼</button>
<p>
<input type="checkbox" v-model="s1" value="true" />set1 : 버튼색 변경<br />
<input type="checkbox" v-model="s2" value="true" />set2 : 버튼 width 사이즈 변경<br />
</P>
</div>
<script type="text/javascript">
var vm = new Vue({
el: "#app",
data: {
s1: false,
s2: false,
}
})
</script>
s1이 true일 때, set1 style 적용
s2이 true일 때, set2 style 적용
computed 함께 적용하기
<style>
.score {
background-color: rgb(127, 255, 138);
border: solid 1px black;
}
.warning {
background-color: rgb(255, 0, 76);
color: purple;
}
.warnimage {
width: 18px;
height: 18px;
top: 5px;
position: relative;
}
</style>
<div id="example">
<div>
score : <input type="number" class="score" v-model.number="score" v-bind:class="info" />
<img src="images/error.png" class="warnimage" v-show="info.warning" />
</div>
</div>
</dl>
<script type="text/javascript">
var vm = new Vue({
el: "#example",
data: {
score: 0 //input 요소에 양방향 바인딩되어 있음
},
computed: {
info: function(){
if(this.score>=0 && this.score<=5){
return { warning : false }
}else{
return { warning : true }
}
}
}
});
</script>
input에 info binding해서 조건에 맞게 warning style이 적용된다.
image에는 info.warning을 v-show에 맵핑했기 때문에 warning true일 때 이미지가 출력된다.
Discussion and feedback