여씨의 개발이야기
[vuejs] 변수를 사용해 이미지 경로를 지정하는 법 본문
코딩애플 강좌 듣는 도중 문제가 생겼다.
강좌 내용을 응용하여 반복문을 이용한 div 내에 img 태그를 삽입하려는데, 이 때 변수를 이용해 다양한 이미지를 삽입하고 싶었다.
before
처음 시도. :src를 입력한 뒤에 데이터 바인딩을 이용해 반복문의 키값을 넣어주려 했다. 결과는 실패. GET http://localhost:8080/img/assets/room0.jpg 404 (Not Found)라는 에러가 뜨며 모두 엑박이 떴다.
<div v-for="(item,i) in products" :key="i">
<img :src="'./assets/room'+{{i}}+'.jpg'" class="room-img"/>
<h4>{{item}}</h4>
<p>가격은?</p>
<button @click="increase(i)">허위매물신고</button> <span>신고수 : {{report[i]}}</span>
</div>
after
이런저런 방법을 찾아본 결과, require를 이용하면 변수를 사용할 수 있다고 한다. 그래서 다음과 같이 작성해보았다.
<div v-for="(item,i) in products" :key="i">
<img :src="require(`@/assets/room${i}.jpg`)" class="room-img"/>
<h4>{{item}}</h4>
<p>가격은?</p>
<button @click="increase(i)">허위매물신고</button> <span>신고수 : {{report[i]}}</span>
</div>
결과는 성공!
'🐾 Programming Lang > 👀 Vue' 카테고리의 다른 글
[vuejs] error Elements in iteration expect to have 'v-bind:key' directives vue/require-v-for-key (0) | 2024.01.24 |
---|---|
[vue.js] 개발환경 세팅 (0) | 2024.01.24 |
[vue] 개발환경 세팅시 vs code extension 추천 (0) | 2024.01.24 |
[입문] Vue에서 external URL redirect 하는 법 (0) | 2022.02.11 |
[입문] React vs Vue.js (0) | 2022.01.08 |
Comments