Adding styles conditionally
One great feature of modern web page architecture is the ability to pack tons of display logic in CSS. This means you can have a very clean and expressive HTML and still create impressive interactive pages via CSS.
Vue is particularly good at expressing relationships between HTML and CSS and allows you to encapsulate complex logic in easy-to-use functions.
In this recipe, we will explore the basics of styling with Vue.
How to do it...
We will build a text area that warns you when you are reaching the maximum allowed number of characters:
<div id="app"> <textarea v-model="memeText" :maxlength="limit"> </textarea> {{memeText.length}} </div>
The text written inside will be bound to the memeText
variable and the length
of our text is written at the end via mustaches.
We want to change the background color when only 10 characters are left. For this, we have to bake a little CSS class warn
:
.warn { background-color: mistyrose ...