Vue 클래스와 스타일 바인딩 (Class and Style Bindings)
Vue.js에서 클래스와 스타일 바인딩은 HTML 요소의 클래스 및 인라인 스타일을 동적으로 조작할 수 있는 기능을 제공하여
데이터 상태에 따라 요소의 모양 및 스타일을 변경할 수 있음.
(다른 속성과 마찬가지로 v-bind를 사용하여 동적 할당)
# HTML 클래스 바인딩
객체 바인딩
클래스를 동적으로 객체를 :class( = v-bind:class)에 전달.
<div :class="{ active: isActive }"></div>
<!-- isActive 의 참 거짓에 따라 active 클래스 추가/제거 -->
<script>
export default{
data() {
return {
isActive: true,
hasError: false
}
}
}
</script>
<template>
<div class="about">
<h1>Class Style Binding page</h1>
<div :class="{ active: isActive }"></div>
<div :class="{ active: isActive, 'error':hasError }"></div>
</div>
</template>
<script>
export default{
data() {
return {
classObject: {
active: true,
'text-danger': false
}
}
}
</script>
<template>
<div :class="classObject"></div>
</template>
<!-- 바인딩된 객체는 인라인일 필요 없음-->
배열 바인딩
:class를 배열로 바인딩하여 클래스 목록을 작성할 수 있음.
<script>
export default{
data() {
return {
activeClass: 'active',
errorClass: 'text-danger'
}
}
}
</script>
<template>
<div :class="[activeClass, errorClass]"></div>
</template>
<!-- <div class="active text-danger"></div> 로 출력 -->
'Vue.js' 카테고리의 다른 글
[Vue.js] Vue 리스트 렌더링 (List Rendering) (1) | 2023.10.26 |
---|---|
[Vue.js] Vue 조건부 렌더링 (Conditional Rendering) (0) | 2023.10.26 |
[Vue.js] Vue 계산된 속성 (Computed Properties) (0) | 2023.10.26 |
[Vue.js] Vue 반응형 (Reactivity Fundamentals) (1) | 2023.10.26 |
[Vue.js] Vue 템플릿 문법 (Template Syntax) (1) | 2023.10.24 |