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 25 Vue.js
vue实现表格合并功能
Dec 01 Vue.js
在vue中动态修改css其中一个属性值操作
Dec 07 Vue.js
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
Vue 事件的$event参数=事件的值案例
Jan 29 Vue.js
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
Feb 23 Vue.js
Vue监视数据的原理详解
Feb 24 Vue.js
Vue全局事件总线你了解吗
Feb 24 Vue.js
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
如何优化vue打包文件过大
Apr 13 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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
PHP 透明水印生成代码
2012/08/27 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
PHP+JQuery+Ajax实现分页方法详解
2016/08/06 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
python服务器与android客户端socket通信实例
2014/11/12 Python
Python3实现从文件中读取指定行的方法
2015/05/22 Python
python使用thrift教程的方法示例
2019/03/21 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2020/02/18 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
生产车间主任的个人自我鉴定
2013/10/25 职场文书
周年庆典邀请函范文
2014/01/23 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
政审证明材料
2015/06/19 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android
python​格式化字符串
2022/04/20 Python
python如何读取和存储dict()与.json格式文件
2022/06/25 Python