How can I use 'img src' in Vue.js? [duplicate]

I have this in my Vue.js template:

<img src="/media/avatars/{{joke.avatar}}" alt=""> 

It is inside a loop that renders jokes. Other fields are rendered fine, but for the image I get this error in the console:

  • src="/media/avatars/{{joke.avatar}}": Interpolation inside attributes has been removed. Use v-bind or the colon shorthand instead. For example, instead of , use .

I have also use v-bind:src="..., but I get invalid expression error.

How can I fix this?

2

1 Answer

Try this:

<img v-bind:src="'/media/avatars/' + joke.avatar" /> 

Don't forget single quote around your path string. Also in your data, check you have a correctly defined image variable.

joke: { avatar: 'image.jpg' } 

A working demo is here:

6

You Might Also Like