在Vue有時候你引用本地圖片在本地環境可以正常顯示,但是到了服務器上就出現資源請求失敗以及無法顯示的情況。
這是因為當你在元素里面綁定:src
時,Vue將綁定屬性的路徑作為字符串輸出了。
export default {
data () {
return {
img: '../../XXX/XXX/xx.png'
}
}
}
//////////
<img :src="img"> // 這種方式會先找到路徑解析完在渲染圖片
以上解決方法對於單個的渲染非常合適,但是如果后端是個憨批給你返回的list中img字段不是一個url而是你本地對應的圖片名稱,得需要用到require()方法親求本地文件
export default {
data () {
return {
imgList:[
{
img: 'XX.png',
title: '測試'
},{
img: 'XX2.png',
title: '測試2'
}
]
}
}
}
////////////////
<div v-for="(item, index) in imgList" :key="index">
<img :src="require(`../../xxx/xxx/${item.img}`)" alt="測試">
<span>{{item.title}}</span>
</div>