Using v-bind:src with Vue
Aug 29, 2022
You can dynamically control the image an <img>
tag displays using the v-bind:src
, or :src
for short, binding.
This allows you to insert JavaScript in the attribute field.
methods
Using :src
, you can set the image's src
to the result of a Vue method.
<script>
const { createApp } = Vue
createApp({
methods: {
getPhoto() {
return '../../assets/logo.png';
}
},
template: `
<img :src="getPhoto()" />
`
}).mount('#app');
</script>
computed
A computed property allows you to have logic that is dependent on reactive data.
In the example below, should value
change, the logo image will no longer be displayed.
<div id="example"></div>
<script>
const { createApp } = Vue
createApp({
data: function() {
return {
value: 0
}
},
computed: {
photo() {
return this.value == 0 ? '../../assets/logo.png' : 0
}
},
template: `
<img :src="photo" />
<div>
<button @click="value > 0 ? value-- : value++">Click</button>
</div>
`
}).mount('#example');
</script>
Vue School has some of our favorite Vue
video courses. Their Vue.js Master Class walks you through building a real
world application, and does a great job of teaching you how to integrate Vue
with Firebase.
Check it out!
Did you find this tutorial useful? Say thanks by starring our repo on GitHub!