v-bind is a Vue.js directive that allows you to dynamically bind attributes or properties to a value in your Vue instance's data. It is particularly useful for passing dynamic data to HTML elements or components. That means that v-bind simplifies the process of connecting your Vue instance's data to the DOM.
html
<img v-bind:src="imageSrc" alt="Dynamic Image"> <!-- Shorthand --> <img :src="imageSrc" alt="Dynamic Image">
javascript
data() {
return {
imageSrc: "https://example.com/image.jpg",
};
}
html
<div v-bind:class="{ active: isActive, 'text-bold': isBold }">Hello Vue</div>
<!-- Shorthand -->
<div :class="{ active: isActive, 'text-bold': isBold }">Hello Vue</div>
javascript
data() {
return {
isActive: true,
isBold: false,
};
}
html
<div v-bind:style="{ color: textColor, fontSize: fontSize + 'px' }">Styled Text</div>
<!-- Shorthand -->
<div :style="{ color: textColor, fontSize: fontSize + 'px' }">Styled Text</div>
javascript
data() {
return {
textColor: "blue",
fontSize: 16,
};
}