data引入图片的几种方式是什么,路径问题如何解决
Admin 2022-09-06 群英技术资讯 888 次浏览
今天踩的坑给分享出来。
本来想要在横版遍历图片出来在vue中自己做轮播,结果发现在data中直接引入路径是渲染不出来的。
原因是webpack打包无法解析
如果直接在模板上通过src="../../assets/images/top5.png"是没有问题的
想通过data里的引入路径 ,再:src绑定就不能直接把"../../assets/images/top5.png"放到data中,否则webpack打包无法解析
需要通过import引入再放到data中
如下才能渲染出来
<template>
<div class="big-top" >
<img alt="" v-for="(item,index) in gotop" :key="index" :src="item" >
</div>
<//template>
<script>
import top5 from "../../assets/images/top5.png"
import top4 from "../../assets/images/top4.png"
import top3 from "../../assets/images/top3.png"
import top2 from "../../assets/images/top2.png"
import top1 from "../../assets/images/top1.png"
export default {
name: 'Animations',
data() {
return {
gotop:[
top5 ,
top4 ,
top3 ,
top2 ,
top1 ,
]
}
</scriopt>
在data中定义a的值为1就可以动态改变要切换的图片
require(`../works/assets/${this.a}.png`);
<li v-for="(i,a) in imgs" :key="a"> <a><img :src="require('../../assets/'+i+'.png')" alt=""></a></li>
直接将你的图片源文件放在项目目录的static或public文件夹里,然后和正常写图片路径那样写就可以了
文件放在asset中,需要将路径转换为编译打包后的路径。
如果是直接在img标签或者css中使用,可以直接引入路径,打包会处理
但是如果是作为字符串的形式使用,需要使用request 或import的方式来引入,加入打包行列
imageUrl: require('../../assets/logo.png')
import img from "../../assets/logo.png";
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章我们来了解jQuery触发change事件的方法,手动触发改变事件我们需要使用到change()方法,接下来我们通过示例来了解change()方法的使用及触发改变事件的实现,感兴趣的朋友就继续往下看吧。
方法:1、利用“document.getElementById("id")”语句根据id值获取指定的html标签元素对象;2、利用“标签元素对象.style.display="none";”语句将获取到的html标签元素隐藏即可。
目录前言只读函数参数如何更改函数只读类属性只读索引总结前言在Typescript 2.0中,引入了readonly关键字,可以对类中的属性进行修饰,作用是:该属性被readonly修饰之后无法修改**(如需修改,在构造函数中可以对只读属性进行修改)**。我们可以直接在interface和type中直接使用readonl
前些日子了解到mqtt这样一个协议,可以在web上达到即时通讯的效果,所以下面这篇文章主要给大家介绍了关于vue中如何利用mqtt服务端实现即时通讯的相关资料,需要的朋友可以参考下
今天给大家分享的是JavaScript中事件冒泡机制的内容,对于新手来说JavaScript事件冒泡机制比较难理解,因此下文有实例及详细的介绍供大家参考,感兴趣的朋友接下来跟随小编一起来了解一下。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008