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 24 Vue.js
vue开发chrome插件,实现获取界面数据和保存到数据库功能
Dec 01 Vue.js
Vue中引入svg图标的两种方式
Jan 14 Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
Vue实现简单计算器
Jan 20 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
vue使用节流函数的踩坑实例指南
May 20 Vue.js
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
vue项目如何打包之项目打包优化(让打包的js文件变小)
Apr 30 Vue.js
vue如何在data中引入图片的正确路径
Jun 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
针对初学PHP者的疑难问答(1)
2006/10/09 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
php自定义session示例分享
2014/04/22 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
取选中的radio的值
2010/01/11 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
简单了解python的break、continue、pass
2019/07/08 Python
Python 转换文本编码实现解析
2019/08/27 Python
Python 解析简单的XML数据
2020/07/24 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
Html5之title吸顶功能
2018/06/04 HTML / CSS
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
质检员岗位职责
2013/12/17 职场文书
生日寄语大全
2014/04/08 职场文书
公司年夜饭通知
2015/04/25 职场文书