How to conditionally add attributes for an element in Vue.js
In this tutorial, we are going to learn about how to add attributes to an HTML element conditionally in Vue.js.
Normally, we add an attribute to html element in vue using the attributename = 'value'
.
Example:
<button disabled="true">Sign in</button>
The above code disables the button.
Adding attributes conditionally
To add an attribute conditionally (or dynamically) to a element, we can use the v-bind
directive followed by the :attribute=value
in Vue.js.
Here is an example, that adds the disabled
attribute conditionally to a button
element based on the email
field text length.
<template>
<div id="app">
<input placeholder="email" v-model="email" />
<button v-bind:disabled="!email.length">Send me</button> </div>
</template>
<script>
export default {
name: "App",
data() {
return {
email: "", };
},
};
</script>
This above code, adds the disabled
attribute to a button
element when an email
field is empty and removes the disabled
attribute when an email
field is not empty.
v-bind directive can be also written in short hand syntax like this:
<button :disabled="!email.length">Send me</button>