返回顶部
首页 > 资讯 > 精选 >Vue一个动态添加background-image的方法是什么
  • 366
分享到

Vue一个动态添加background-image的方法是什么

2023-07-05 11:07:19 366人浏览 独家记忆
摘要

这篇文章主要介绍了Vue一个动态添加background-image的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue一个动态添加background-image的方法是什么文章都会有所收获,下面

这篇文章主要介绍了Vue一个动态添加background-image的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue一个动态添加background-image的方法是什么文章都会有所收获,下面我们一起来看看吧。

    Vue一个动态添加background-image

    一开始不知道该怎么弄,后面查了下,应该这样使用

     <div @click="dialogVisible = true" :style="      {backgroundImage:'url('+personalData.avatar+')'}">                              <div>                        <!-- <div></div> -->                        <p>修改头像</p>                    </div> </div>

    Vue踩坑background-image路径

    前端开发中,background-image属性非常常见,有很多时候需要使用内联样式来绑定此属性,但是在vue项目中,如果如下面代码填写路径会找不到图片

    • 项目中图片都放在src/img文件夹,img和background-image引用都用相对路径,即../../../这种形式。

    • 在项目打包build设置路径assetsPublicPath:'./',然后哪些没有转成base64的背景图都失效了。

    <script type="text/javascript">import TemplateNav from './TemplateNav' export default {name: 'FooterNav',components: {'TemplateNav': TemplateNav},data() {return {//使用相对路径会找不到图片shouye:'url(../../assets/images/shouye/index2x.png)',fenlei:'url(../../assets/images/shouye/fenlei2x.png)',search:'url(../../assets/images/shouye/search3x.png)',shopcart:'url(../../assets/images/shouye/Gouwuche2x.png)',mine:'url(../../assets/images/shouye/I2x.png)'}},props: {num: {default: '0'}},}</script>

    报错如下:404(Not Found)

    Vue一个动态添加background-image的方法是什么

     正确的路径应该如下面这样

    data() {return {shouye:'url(' + require('../../assets/images/shouye/index2x.png') + ')',fenlei:'url(' + require('../../assets/images/shouye/fenlei2x.png') + ')',search:'url(' + require('../../assets/images/shouye/search3x.png') + ')',shopcart:'url(' + require('../../assets/images/shouye/gouwuche2x.png') + ')',mine:'url(' + require('../../assets/images/shouye/I2x.png') + ')'}},

    使用require()方法,require()是node.js方法。

    结合实际情况,处理方法如下

    img标签:

    <img :src="require('../../../assets/images/icons/icon-add-pc.svg')">

    背景图:

    <div :></div> //i标签<i :></i>

    扩展:图片格式(base64)

    图片的base64编码就是可以将一张图片数据编码成一串字符串,使用该字符串代替图像地址url。

    使用base64图片的优点:

    • 减少Http请求次数

    • 采用base64的图片随着页面一起下载,因此不会存在跨域请求的问题

    • 没有图片更新要上传图片,因此不会造成清理图片缓存的问题。

    使用base64图片的缺点:

    • 增加CSS文件的大小,比http请求大30%左右

    • 浏览器兼容性,支持ie10及以上

    • 解析css的时间增长

    base64图片与csssprites技术

    精灵图技术就是将图片合成一个大的图片,将多次图片请求合成一张大的请求,以此来达到减少http请求的次数。

    对于base64图片常见误区

    base64虽然有优点,但是其缺点也很明显,在使用上存在一些明显的缺陷

    • 使用base64不代表性能优化,使用base64减少了http请求,但是增加了css文件的体积,css文件体积增大意味着CPR的阻塞

    • CPR(Critical Rendering Path,关键渲染路径):当浏览器从服务器接收到一个html页面的请求时,到屏幕上渲染出来要经过很多个步骤。浏览器完成这一系列的运行,或者说渲染出来我们常常称之为“关键渲染路径”。

    • 图片不会导致关键路径的阻塞,而转换为base64后大大增加了css文件的体积,css文件的体积直接影响渲染,导致空白屏幕时间增长,html和css会阻塞渲染,而图片不会阻塞渲染。

    关于“Vue一个动态添加background-image的方法是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Vue一个动态添加background-image的方法是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

    --结束END--

    本文标题: Vue一个动态添加background-image的方法是什么

    本文链接: https://lsjlt.com/news/351401.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作