Vue - progressive-image 渐进式图片加载(Vue2)

Vue - progressive-image 渐进式图片加载(Vue2)

在追求高分辨率图片的网页中,其图片加载速度影响着用户的体验,特别在低网速加载慢的情况下,简单的图片加载图标无法满足用户需求,progressive-image实现了渐进式图片加载,旨在提升网页图片的加载性能和用户体验。

图片对比:

图片质量分辨率大小
在这里插入图片描述20 x 100.4KB
在这里插入图片描述1200 x 600311KB

实现下列效果:

在这里插入图片描述

一、安装progressive-image

npm install progressive-image --save

yarn add progressive-image

二、如何使用

1.在index.html中添加css样式:

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    # 添加progressive的css样式,可以下载progressive.css到本地存储并引用css文件
    <link href="https://unpkg.com/progressive-image@1.2.0/dist/index.css" rel="stylesheet" type="text/css">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>

2.在main.js中导入并引用:

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

import progressive from 'progressive-image/dist/vue'
Vue.use(progressive, {
  removePreview: true,
  scale: true
})

new Vue({
  render: h => h(App),
}).$mount('#app')

3.在组件内使用:

<template>
  <div class="main">
      <div class="progressive">
        <img class="preview" v-progressive="item.preview" :src="item.src" />
      </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
     image: {
        src: require("../src/assets/r1.jpg"), # 缩略图
        preview: require("../src/assets/1.jpg"), # 完整图片
      },
    };
  },
};
</script>

<style scoped>
.main {
  width: 100%;
  height:800px;
}
</style>

其中progressivepreviewclass类名是固定格式,可在外部包裹一层元素标签来控制图片高度;

注意事项

在对于多次绑定本地同一张图片时,只会加载显示第一次,需修改不同图片名才行!

 list:[
	      {
	        src: require("../src/assets/r1.jpg"),
	        preview: require("../src/assets/1.jpg"),
	      },
	      {
	        src: require("../src/assets/r1.jpg"),
	        preview: require("../src/assets/1.jpg"),
	      },
	      {
	        src: require("../src/assets/r1.jpg"),
	        preview: require("../src/assets/1.jpg"),
	      },
	      {
	        src: require("../src/assets/r1.jpg"),
	        preview: require("../src/assets/1.jpg"),
	      },
	      {
	        src: require("../src/assets/r1.jpg"),
	        preview: require("../src/assets/1.jpg"),
	      },
      ]

在这里插入图片描述

修改不同名称后:
在这里插入图片描述
progressive-image 是轻量级的 JavaScript 库,其核心功能是在浏览器中实现预加载低质量的图片,然后逐渐替换为高质量的版本。这种加载方式使得用户能够在图片完全加载之前就看到大致的内容,提高了页面的响应速度和视觉感受。

相关链接:
progressive.css:progressive.css文件
progressive-image Dome:progressive-image 预览
progressive-image - github:progressive-image - github

  • 32
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3渐进式加载图片是指使用v-progressive-image插件来实现的一种图片加载效果。该插件可以通过两个指令来实现图片的渐进加载,从高斯模糊的缩略图逐步加载到清晰的原图。这种方式可以提供更好的用户体验,同时减少了图片加载对网络带宽的需求。 要在Vue3中使用v-progressive-image插件,首先需要在main.js中引入相关文件并配置插件参数。具体步骤如下: 1. 在main.js文件中,使用import语句引入Vue和v-progressive-image插件: ``` import Vue from 'vue' import progressive from 'progressive-image/dist/vue' import 'progressive-image/dist/index.css' ``` 2. 使用Vue.use()方法安装v-progressive-image插件,并配置插件参数: ``` Vue.use(progressive, { removePreview: true, scale: true }) ``` 这样就完成了v-progressive-image插件的配置。接下来,在需要加载渐进式图片的地方,可以使用v-progressive-image的指令来实现渐进式加载效果。 总结起来,Vue3渐进式加载图片可以通过v-progressive-image插件来实现,通过配置插件参数和使用指令来实现图片的渐进加载效果。这种方式可以提供更好的用户体验和减少网络带宽的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue-emage:适用于vue3的渐进式图片加载插件](https://download.csdn.net/download/weixin_42168745/16545426)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [适用于 vue.js渐进式图片加载](https://blog.csdn.net/qq_39146122/article/details/111480212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值