沃梦达 / IT编程 / 前端开发 / 正文

vue动态渲染img,图片不显示

数据:结构:????div?v-for=item?in?orderList?:key=item.icon?class=item??????img?:src=item.img?alt=?@error=@/assets/img/profile/message.svg/??????div?class=info{{?item.info?}}/di...

数据:

结构:

????<div?v-for="item?in?orderList"?:key="item.icon"?class="item">
??????<img?:src="item.img"?alt=""?@error="@/assets/img/profile/message.svg"/>
??????<div?class="info">{{?item.info?}}</div>
????</div>

审查元素发现没显示默认的图片,图片没有被打包。。。。

解决:把图片路径用require()调用,这样就可以正常显示了

    <div v-for="item in orderList" :key="item.icon" class="item">
      <img :src="item.img" alt="" @error="require('@/assets/img/profile/message.svg')"/>
      <div class="info">{{ item.info }}</div>
    </div>

审查元素:

原因:

在动态加载图片时webpack会把图片来当做模块来用,所以url-loader将无法解析图片地址,然后npm run dev 或者 npm run build之后导致路径没有被加工。

 

 

 

本文标题为:vue动态渲染img,图片不显示