Skip to content

在 Vue 2 中动态赋值 img 标签的 src 属性时显示为图裂

【问题】

在 Vue 2 中动态赋值 img 标签的 src 属性时显示为图裂:

vue
<template>
  <div class="item" v-for="item in roleItemList" :key="item.key">
    <div class="icon"><img :src="item.icon" alt=""></img></div>
    <div class="name">{{ item.name }}</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      roleItemList: [
          {
            key: "admin",
            icon: "@/assets/role/admin.png",
            name: "管理员"
          },
          {
            key: "designer",
            icon: "@/assets/role/designer.png",
            name: "设计师"
          },
          {
            key: "user",
            icon: "@/assets/role/user.png",
            name: "普通用户"
          }
        ]
    }
  }
}
</script>

【解决】

加上 require 函数

vue
roleItemList: [
  {
    key: "admin",
    icon: require("@/assets/role/admin.png"),
    name: "管理员"
  },
  {
    key: "designer",
    icon: require("@/assets/role/designer.png"),
    name: "设计师"
  },
  {
    key: "user",
    icon: require("@/assets/role/user.png"),
    name: "普通用户"
  }
],

编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!