You can have both class="..." and dynamic binding :class="..." on the same element, where classes listed in class="..." are always on the element, and classes in :class="..." depend on your model and are dynamically added/removed as per what's going on in the model.
In the :class binding you can bind either String, Object or Array:
<span class="green chip white-text" :class="record.record_status_color">
where record.record_status_color: 'green'"> and some CSS defining the looks for .green elements.
Object use for multiple classes, or for applying conditional usage of the class:
classObject: {
active: true,
'text-danger': false
}
and then
<div :class="classObject"></div>
which would resolve to
<div class="active"></div>
You can also pass an Array to :class:
data: {
activeClass: 'active',
errorClass: 'text-danger'
}
and then
<div :class="[ activeClass, errorClass ]"></div>
which will render to
<div class="active text-danger"></div>
You can even use expressions in the Array syntax:
<div :class="[isActive ? activeClass : '', errorClass]"></div>
or
<div :class="[(new Date().getFullYear() > 2018) ? activeClass : '', errorClass]"></div>
More information on the subject, along with these examples, can be found in the official documentation.
https://v2.vuejs.org/v2/guide/class-and-style.html