首页 > 其他分享 >vue项目中img动态导入的问题

vue项目中img动态导入的问题

时间:2023-02-22 12:57:15浏览次数:52  
标签:vue assets img url .. 导入 home png name

相信有些人应该都会遇到vue项目中动态加载图片的问题。就是觉得路径没有问题,但是还是报错。

错误代码template:

<el-card v-for="(o,s_i) in styleList" :key="s_i">
            <div><img style="width: 100%; height: 100px" :src="o.url" fit="cover" :alt="o.name"></div>
            <span>{{ o.name }}</span>
</el-card>

script:

data(){
    return{
        styleList:[
    {
          name: '风格1',
          url: '@/assets/home/111.jpg'
        },
  {
          name: '风格2',
          url: '@/assets/home/222.jpg'
        },
]
    }
}

其实这样肯定是会报错的,因为webpack会将图片当模块使用。但是因为上面图片是动态加载的,所以url-loader无法解析图片路径,执行npm run dev或者npm run build之后导致路径没有被加工。

解决思路:将图片作为模块加载进去,这样webpack将能将它解析,或者将资源放在static目录下。

解决办法一:

<script>
import img1 from '../assets/home/1.png'
import img2 from '../assets/home/2.png'
import img3 from '../assets/home/3.png'

export default {
  data () {
    return {
      style: [
    {
          name: '风格1',
          url: img1
        },
        {
          name: '风格2',
          url:img2
        },
      ]
    }
  }
}
</script>

解决办法二:

<script>
export default {
  data () {
    return {
      style: [
    {
          name: '风格1',
          url: require('../assets/home/111.png')
        },
        {
          name: '风格2',
          url: require('@/assets/home/222.png')
        },
      ]
    }
  }
}
</script>

 

标签:vue,assets,img,url,..,导入,home,png,name
From: https://www.cnblogs.com/web001/p/17143967.html

相关文章

  • Vue配置文件中的proxy配置
    Vue配置文件中的proxy配置https://huaweicloud.csdn.net/638eec24dacf622b8df8dafa.html?spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-blog......
  • Vue3开发教程(一、学习Vue前需要了解的内容)
    前言本文是笔者学习vue前端技术过程的总结,其中包括vue开发需要了解的相关技术如:node、ES6、TypeScript、vite、ElementUI。以vue作为主线来介绍相关技术,最后通过一个典型的......
  • vue3 ThreeJS 引入obj模型过暗的问题
      当我单纯地用MTLLoader引入材质,OBJLoader引入模型并添加到场景中时, 发现模型非常得暗. 需要将环境光的强度设置到3.5左右看起来才比较正常. 但正常情况下环境光......
  • vue3 门户网站搭建3-pinia
    引入pinia来方便处理全局变量。npminstallpinia 1、创建pinia 2、main中引入(我这里是直接写的index,所以导出的是stores) 3、定义变量 使用: ......
  • vue axios异步处理方案
    vueaxios异步处理方案1.使用setTimeout函数用延时处理(复杂一点逻辑会达不到效果) 实例:setTimeout(()=>{console.log('1');},300......
  • 在vue中动态的引入图片为什么要使用require
    在vue中动态的引入图片为什么要使用require有些小伙伴,可能会轻蔑一笑:呵,就这,因为动态添加src被当做静态资源处理了,没有进行编译,所以要加上require,我倒着都能背出来............
  • SpringCloud导入spring boot项目当作子模块微服务IDEA不识别子module问题
    1.在父工程下面引入module。<modules><module>study-design-mode</module></modules>2.点击子工程module中的pom文件,进行更新,引入成功。3.配置子工程的pom文件......
  • Vue - eslint默认验证,函数名称和括号相连报错
    如果函数名和括号相连,eslint验证会报错,这个可以通过eslint的设置解决:一,打开eslintrc.js,在rules配置中加入:'space-before-function-paren':0完整配置:rules:{/......
  • Vue笔记
    Vue快速入门笔记七大属性学习vue我们必须之到它的7个属性,8个方法,以及7个指令。787原则。el属性用来指示vue编译器从什么地方开始解析vue的语法,可以说是一个占位符......
  • MySQL 导出 表结构,执行 .sql 文件导入结构或者数据
    1、MySQL导出不同类型的表结构1.1导出结构不导出数据mysqldump-h主机地址-uroot-p密码-d数据库名>xxx.sql#加-d参数如果发现加了-d参数......