vue实现在data里引入相对路径


Posted in Vue.js onJune 05, 2022

在data里引入相对路径

问题

在项目的HTML中引入图片的相对路径,这样写是能找到图片显示出来的:

<img src="../../../static/img/step-ongoing.png">

但图片太多感觉太乱了了,想在data中通过变量统一管理。这时发现如果直接在data中这样写图片是找不到的:

<img :src="stepOngoing">

data()  {
    return {
        stepOngoing: '../../../static/img/step-ongoing.png',
    }
}

解决

发现只有这么写才行,require内部引入:

data()  {
    return {
        stepOnGoing: require('../../../static/img/step-ongoing.png'),
    }
}

或者用import 在外部引入:

import stepOnGoing_src from '../../../static/img/step-ongoing.png'

data()  {
	return {
		stepOnGoing: stepOnGoing_src,
	}
}

如何在data中正常引入图片路径

在Vue项目中通过data设置图片路径,然后在template中引入后页面无法显示图片,浏览器控制台报错:

vue实现在data里引入相对路径

刚开始以为是路径出问题了,于是绝对路径、相对路径各种办法试了一遍,发现还是报错,后来才发现这是因为在Vue里动态生成的路径无法被url-loader解析到,

此时有两种解决方法

方法一:直接将你的图片源文件放在项目目录的static文件夹里,然后和正常写图片路径那样写就可以了:

vue实现在data里引入相对路径

vue实现在data里引入相对路径

方法二:通过import的方法将图片源路径引入,如下图所示:

vue实现在data里引入相对路径

vue实现在data里引入相对路径

需要注意的是:在Vue里图片是通过v-bind绑定src属性的,所以template模板上的img标签并不是src="",而是v-bind:src=""或简写为:src="",如果这里写错了,那无论如何都无法正常引入图片。

方法三:采用背景图做法,通过data将图片源路径引入,利用内联样式。

如下代码所示:

        <div :style="imgStyle"></div>
        data () {
             imgStyle: {
                  backgroundImage:`url(${require('@/assets/images/xxx.png')})`
             }
        }

如此也可将图片正常引入项目中并作为背景图使用。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。 


Tags in this post...

Vue.js 相关文章推荐
vue使用vant中的checkbox实现全选功能
Nov 17 Vue.js
vue中echarts的用法及与elementui-select的协同绑定操作
Nov 17 Vue.js
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
Vue仿Bibibili首页的问题
Jan 21 Vue.js
vue监听键盘事件的相关总结
Jan 29 Vue.js
vue实现同时设置多个倒计时
May 20 Vue.js
Vue图片裁剪组件实例代码
Jul 02 Vue.js
Vue自定义铃声提示音组件的实现
Jan 22 Vue.js
vue3语法糖内的defineProps及defineEmits
Apr 14 Vue.js
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
Aug 05 Vue.js
ant design vue的form表单取值方法
Jun 01 #Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 #Vue.js
vue实现登陆页面开发实践
May 30 #Vue.js
vue router 动态路由清除方式
May 25 #Vue.js
vue如何清除浏览器历史栈
May 25 #Vue.js
vue3不同环境下实现配置代理
May 25 #Vue.js
vue使用element-ui按需引入
May 20 #Vue.js
You might like
PHP中调用JAVA
2006/10/09 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
Python验证码识别的方法
2015/07/10 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
python的继承知识点总结
2018/12/10 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
四年大学生活的自我评价范文
2014/02/07 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
2015年教学工作总结
2015/04/02 职场文书
商场营业员岗位职责
2015/04/14 职场文书
vue前端工程的搭建
2021/03/31 Vue.js