记录项目过程中遇到的问题

115 阅读1分钟

VUE使用v-for遍历本地图片时,img无法显示

存在问题的代码:

const imgs = ["@/assets/login/Layout/1.png", "@/assets/login/Layout/2.png",
    "@/assets/login/Layout/3.png", "@/assets/login/Layout/4.png",
    "@/assets/login/Layout/5.png"]
</script>
<template>
    <div class="shell">
        <div class="box" v-for="item in imgs" :index="item">
            <div class="images">
                <img :src="item" alt="" />
            </div>
        </div>
    </div>
</template>

方法一:使用require引入

const imgs = [1,2,3,4,5]
<img :src="require(`@/assets/Layout/${item}.png`)" alt="" />

方法二:使用import引入图片

<div class="item" v-for="(item, index) in apiArr" :key="index">
      <div class="imgWrap">
        <img :src="item.imgTitle" alt="" />
      </div>
</div>

<script>
// import 引入图片
import first from "@/assets/img/first.png";
import second from "@/assets/img/second.png";
import third from '@/assets/img/third.png'

apiArr: [
        {
          title: "冠军",
          score: "98.8",
          imgTitle: first, // 使用引入的图片
        },
        {
          title: "亚军",
          score: "97.9",
          imgTitle: second, // 使用引入的图片
        },
]
</script>

方法三:后端返回图片url

<div class="item" v-for="(item, index) in apiArr" :key="index">
    <!-- apiArr是后端返回的数据,其中的每一项中都有一个imgUrl属性,存储的是图片的url地址 -->
    <img :src="item.imgUrl" alt="">
</div>