Back
VueEasyNew

How do you conditionally style elements based on component state?

Class and style bindings

Ideal Answer

Vue supports dynamic class and style bindings via v-bind (:class, :style), accepting objects or arrays:

JavaScript
<template>
  <div :class="{ active: isActive, 'text-danger': hasError }">...</div>
  <div :class="[baseClass, isActive ? 'active' : '']">...</div>
  <div :style="{ color: activeColor, fontSize: fontSize + 'px' }">...</div>
</template>

Object syntax toggles classes based on truthiness of each key; array syntax lets you combine static and dynamic classes flexibly.