프론트엔드 개발

class binding 본문

Front-End/Vue.js

class binding

태나미 2022. 5. 3. 15:35
props에 class binding시 각자 다른 값이 들어가야 하거나 안들어가도 될때

Before

Parent.vue

다음과 같은 Parent.vue에서 button을 하나의 컴포넌트로 만들때 서로 다른 class를 바인딩 시키는 법을 알아보겠습니다.

<template>
    <button class="btn-card btn-share">A</button>
    <button class="btn-card">B</button>
    <button class="btn-card btn-favorite">C</button>
</template>

After

Parent.vue

<template>
    <Child :title="'A'" :add-class="'btn-share'" />
    <Child :title="'B'" />
    <Child :title="'C'" :add-class="'btn-favorite'" />
</template>

Child.vue

<template>
    <button type="button" :class="['btn-card', addClass]">{{title}}</button>
</template>

<script>
    export default {
        name: 'Child',
        props: {
            title: {
                type: String,
                default: '',
                required: true,
            },
            addClass: {
                type: String,
                default: '',
                required: false,
            },
        },
    };
</script>
 
addClass가 있던 없던 바인딩된 값이 class에 추가로 들어오는 것을 확인할 수 있습니다.
이외에도 상황에 따른 class binding을 추가하겠습니다~!
댓글에 자유롭게 자기가 사용하고 있는 binding 방법을 적어주시고 같이 소통해요!

'Front-End > Vue.js' 카테고리의 다른 글

vue input value 값 실시간 변경 감지  (0) 2022.08.14
Nuxt + Typescript  (0) 2022.05.08
Nuxt (version 3) Quick Start 해볼까?  (0) 2022.05.07
Nuxt (version 3) concept에 대해  (0) 2022.05.07
Vue  (0) 2022.03.18
Comments