반응형
참고 공식 사이트
클래스와 스타일 바인딩 | Vue.js
클래스와 스타일 바인딩 데이터 바인딩의 일반적인 요구사항은 엘리먼트의 클래스 목록과 인라인 스타일을 조작하는 것입니다. 클래스와 스타일 모두 속성이므로, v-bind를 사용하여 처리할 수
v3.ko.vuejs.org
1. 클래스를 데이터와 바인딩하여 해당 데이터가 true일때 원하는 클래스를 적용시킬 수 있다.
2. Html 원하는 태그안에 직접적으로 스타일을 적용 시킬 수 있다.
3. data() 속성에 미리 스타일을 정의 해 두고 가져다가 사용할 수 있다.
4. 배열을 이용하여 여러 스타일을 한번에 적용 시킬 수 있다.
App.vue 코드를 이용한 예제
<template>
<!-- isActive 데이터가 true이면 active 클래스를 바인딩 시킨다. -->
<h1
:class="{active: isActive}"
@click="activate">
Hello?! {{ isActive }}
</h1>
<!-- h1태그에 직접적으로 스타일을 적용시키는 방법 -->
<h1
:style="{color: color, fontSize: fontSize}"
@click="changeStyle">
Hello2
</h1>
<h1
:style="fontStyle2"
@click="change">
Hello33
</h1>
<h1
:style="[fontStyle2, backgroundStyle]"
@click="change">
2개의 스타일 적용
</h1>
</template>
<script>
export default {
data () {
return {
isActive: false,
color: 'orange',
fontSize: '30px',
fontStyle2: {
color: 'orange',
fontSize: '30px'
},
backgroundStyle: {
backgroundColor: 'black'
}
}
},
methods: {
activate() {
// isActive 데이터를 변경
this.isActive = true
},
changeStyle() {
this.color = 'red'
},
change() {
this.fontStyle2.color = 'red'
this.fontStyle2.fontSize = '50px'
}
}
}
</script>
// scoped: App.vue 파일 외에는 적용되지 않도록 설정하는 것
<style scoped>
.active {
color: red;
font-weight: bold;
}
</style>
브라우저 확인
반응형
'프론트엔드 > Vue.js' 카테고리의 다른 글
조건부 렌더링 (0) | 2021.07.28 |
---|---|
v-model 수식어 예제 (0) | 2021.07.27 |
Watch (0) | 2021.07.26 |
Computed Getter, Setter 예제 (0) | 2021.07.26 |
Computed 캐싱 (0) | 2021.07.26 |