日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue中v-for图片src路径错误

發布時間:2024/3/12 vue 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue中v-for图片src路径错误 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、問題概述

<img :src="data.src" class="nav-img">

1. html結構如下:

<ul class="nav-list"><li v-for="data in navlist" :key="data.index"><div class="item"><!--{{ data.src }}--><img :src="data.src" class="nav-img"><p class="nav-title">{{ data.title }}</p><p class="nav-desc">{{ data.desc }}</p></div></li> </ul>

2. navlist數據如下:

圖片存在 ../../assets/images/index/ 文件夾下

navlist: [{'title': '魚塘', 'desc': 'world', 'src': '../../assets/images/index/navlist01.png'},{'title': '魚塘', 'desc': 'world', 'src': '../../assets/images/index/navlist01.png'},{'title': '社群', 'desc': 'world', 'src': '../../assets/images/index/navlist02.png'},{'title': '積分', 'desc': 'world', 'src': '../../assets/images/index/navlist03.png'},{'title': '活動', 'desc': 'world', 'src': '../../assets/images/index/navlist04.png'},{'title': '直播', 'desc': 'world', 'src': '../../assets/images/index/navlist05.png'},{'title': '資源', 'desc': 'world', 'src': '../../assets/images/index/navlist06.png'},{'title': '魚友', 'desc': 'world', 'src': '../../assets/images/index/navlist07.png'},{'title': '魚圈', 'desc': 'world', 'src': '../../assets/images/index/navlist08.png'},{'title': '會員', 'desc': 'world', 'src': '../../assets/images/index/navlist09.png'}]

?3. 頁面效果如下

圖片無法顯示

4. 瀏覽器中html解析如下

路徑正確,但圖片不顯示

5. assets與static文件夾的區別

assets:在項目編譯的過程中會被webpack處理解析為模塊依賴,只支持相對路徑的形式,如< img src=”./logo.png”>和background:url(./logo.png),”./logo.png”是相對資源路徑,將有webpack解析為模塊依賴?


static:在這個目錄下文件不會被被webpack解析。他會直接被復制到最終的打包目錄(默認是dist/static)下。必須使用絕對路徑引用這些文件,這是通過config.js文件中的build.assetsPublic和build.assertsSubDirectory鏈接來確定的。任何放在static/中文件需要以絕對路徑的形式引用:/static[filename]?
根據webpack的特性,總的來說就是static放不會變動的文件,asserts放可能會變動的文件

二、解決方案

1. 用require()處理src路徑

{'title': '魚塘', 'desc': 'world', 'src': require('../../assets/images/index/navlist01.png')}

data () {return {navlist: [{'title': '魚塘', 'desc': 'world', 'src': require('../../assets/images/index/navlist01.png')},{'title': '魚塘', 'desc': 'world', 'src': require('../../assets/images/index/navlist01.png')},{'title': '社群', 'desc': 'world', 'src': require('../../assets/images/index/navlist02.png')},{'title': '積分', 'desc': 'world', 'src': require('../../assets/images/index/navlist03.png')},{'title': '活動', 'desc': 'world', 'src': require('../../assets/images/index/navlist04.png')},{'title': '直播', 'desc': 'world', 'src': require('../../assets/images/index/navlist05.png')},{'title': '資源', 'desc': 'world', 'src': require('../../assets/images/index/navlist06.png')},{'title': '魚友', 'desc': 'world', 'src': require('../../assets/images/index/navlist07.png')},{'title': '魚圈', 'desc': 'world', 'src': require('../../assets/images/index/navlist08.png')},{'title': '會員', 'desc': 'world', 'src': require('../../assets/images/index/navlist09.png')}]}}

2. html結構不變

<ul class="nav-list"><li v-for="data in navlist" :key="data.index"><div class="item"><!--{{ data.src }}--><img :src="data.src" class="nav-img"><p class="nav-title">{{ data.title }}</p><p class="nav-desc">{{ data.desc }}</p></div></li> </ul>

3. 頁面效果如下

正常顯示

4. 瀏覽器中html解析如下

webpack打包之后src路徑

總結

以上是生活随笔為你收集整理的vue中v-for图片src路径错误的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。