🏠 Home / Hub

🟢 Lesson 07 — Class & Style Binding

← Back to Menu  |  🏠 Hub

1. :class — Object Syntax

{ 'class-name': condition } — condition true ဆိုမှ class ထည့်မယ်

<p :class="{ 'text-bold': isBold, 'text-red': isRed }">Text</p>

data() {
  return { isBold: false, isRed: false }
}

Toggles:

       

← ဒီ text က checkbox တိုင်းနဲ့ ပြောင်းတယ်!

Applied classes: {{ appliedClasses }}

2. :class — Array Syntax

Array ထဲ class names တွေ ထည့်လို့ရတယ် — object နဲ့ ရောသုံးလည်းရ

<p :class="[baseClass, activeClass, { 'text-bold': isBold }]">

data() {
  return {
    baseClass: 'text-large',
    activeClass: 'text-green'
  }
}

Base class:

Color class:



Array class binding ကြည့်ပါ!

:class="{{ '[' + [baseClass, colorClass].filter(Boolean).join(', ') + ']' }}"

3. :class — Computed (Best Practice)

Complex class logic ကို computed ထဲ ထည့်ပြီး template ကို သပ်ရပ်အောင် လုပ်

computed: {
  cardClasses() {
    return {
      'card': true,
      'active':  this.status === 'active',
      'error':   this.status === 'error',
      'warning': this.status === 'warning'
    }
  }
}

<div :class="cardClasses"> ← template သပ်ရပ်တယ်

Status:

Status: {{ status || 'none' }}
Classes: {{ Object.keys(cardClasses).filter(k => cardClasses[k]).join(', ') }}

4. :style — Object Syntax

CSS properties တွေကို camelCase နဲ့ data အဖြစ် bind လုပ်တယ်

<p :style="{ color: textColor, fontSize: size + 'px', fontWeight: 'bold' }">

data() {
  return { textColor: '#42b883', size: 18 }
}

Vue.js :style binding လေ့လာနေပါတယ်!

5. :style — Multiple + Dynamic Box

<!-- Array of style objects -->
<div :style="[baseStyles, extraStyles]">

<!-- Inline dynamic -->
<div :style="{ background: color, transform: 'rotate(' + deg + 'deg)' }">
:style
binding

6. Real Use Case — Tab Navigation

🏠 Home content — :class =['tab', { 'active-tab': activeTab === tab }]

👤 Profile content

⚙️ Settings content


Active tab: {{ activeTab }}

7. Dynamic Button Classes

Variant: Size:


:class="{{ '[\"btn-demo\", \"' + variant + '\", \"' + size + '\", { \"btn-disabled\": ' + disabled + ' }]' }}"

← Lesson 06  |  Next: Lesson 08 → Forms

📌 Study Checklist