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动态合并单元格并添加小计合计功能示例
Nov 26 Vue.js
如何实现vue的tree组件
Dec 03 Vue.js
浅谈Vue使用Elementui修改默认的最快方法
Dec 05 Vue.js
详解Vue的异步更新实现原理
Dec 22 Vue.js
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
Vue通过懒加载提升页面响应速度
May 10 Vue.js
Vue和Flask通信的实现
May 19 Vue.js
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
vue打包时去掉所有的console.log
Apr 10 Vue.js
vue封装数字翻牌器
Apr 20 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 编写大型网站问题集
2010/05/07 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
php中的三元运算符使用说明
2011/07/03 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
javascript radio 联动效果
2009/03/04 Javascript
用cssText批量修改样式
2009/08/29 Javascript
清空上传控件input file的值
2010/07/03 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
什么是岗位职责
2013/11/12 职场文书
采购员的工作职责
2013/12/26 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
污水处理保证书
2015/05/09 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery