直播平臺搭建,vue中實現圖片懶載入的幾種方法
直播平臺搭建,vue中實現圖片懶載入的幾種方法
一、使用Vue本身的指令
Vue本身提供了一個指令v-lazy,可以實現圖片懶載入。使用方式如下:
<img v-lazy="imageSrc" />
其中,imageSrc是需要懶載入的圖片路徑。當圖片進入可視區域時,Vue會自動載入圖片。
二、使用第三方庫(推薦)
vue社群中有許多第三方庫可以實現圖片懶載入,例如vue-lazyload、vue-lazyload-enhanced等。這些庫提供了更多的配置項和功能,可以滿足更多的需求。使用方式如下:
2.1 安裝下載
npm i vue-lazyload@1.2.3 -S
2.2 main.js 匯入
import VueLazyload from 'vue-lazyload' Vue.use(VueLazyLoad, { // 可選配置項,可省略 error: require('./error.jpg'), // 載入失敗時顯示的圖片 loading: require('./loading.gif'), // 載入中時顯示的圖片 preLoad: 1.3, // 預載入高度的比例 attempt: 3 // 嘗試載入次數 })
2.3 頁面使用
<template> <div> <img v-lazy="imageSrc" /> </div> </template> <script> import Vue from 'vue' // main.js 已引入的可忽略 import VueLazyload from 'vue-lazyload' // main.js 已引入的可忽略 Vue.use(VueLazyload, { // main.js 已引入的可忽略 // 配置項... }) </script> // 個人實操使用,可參考 <template> <div> <div> <img v-for="(url, index) in imgUrl" :key="index" v-lazy="url" /> // 遍歷圖片 </div> </div> </template> <script> export default { data() { return { imgUrl: [ // 需要顯示的所有圖片 require('@/assets/help/1.jpg'), require('@/assets/help/2.jpg'), require('@/assets/help/3.jpg'), require('@/assets/help/4.jpg'), require('@/assets/help/5.jpg'), ], } }, } </script> <style scoped> // 根據視口大小顯示圖片寬度 @media screen and (max-width: 1200px) { .demo-image__lazy img { width: 100%; } } @media screen and (min-width: 1200px) { .demo-image__lazy img { width: 50%; } } </style>
三、自定義指令
除了使用Vue本身的指令和第三方庫外,還可以透過自定義指令來實現圖片懶載入。在自定義指令中,可以透過Intersection Observer API來監聽目標元素的交叉狀態,從而實現圖片的懶載入。使用方式如下:
<template> <div> <img v-lazyload="imageSrc" /> </div> </template> <script> export default { directives: { lazyload: { inserted: function (el, binding) { const observer = new IntersectionObserver(([entry]) => { if (entry.isIntersecting) { const img = new Image() img.src = binding.value el.appendChild(img) observer.unobserve(el) } }, {threshold: 0.1}) observer.observe(el) } } } } </script>
以上就是 直播平臺搭建,vue中實現圖片懶載入的幾種方法,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2995689/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實現圖片懶載入的三種方式
- 圖片懶載入實現
- 直播平臺搭建,實現圖片縮圖功能
- 手把手實現圖片懶載入+封裝vue懶載入元件封裝Vue元件
- Vue實現一個圖片懶載入外掛Vue
- 圖片懶載入js實現JS
- 直播平臺原始碼,多種方法實現圖片複雜排列原始碼
- [譯] 原生實現圖片懶載入
- React如何實現圖片懶載入React
- 實現圖片懶載入(throttle, debounce)
- 滾動載入圖片(懶載入)實現原理
- vue圖片懶載入lazy-loadVue
- 圖片懶載入
- 直播平臺搭建原始碼,bootstrap實現圖片輪播效果原始碼boot
- 微信小程式--實現圖片懶載入(lazyload)微信小程式
- 30行Javascript程式碼實現圖片懶載入JavaScript
- 圖片懶載入(IntersectionObserver)Server
- 圖片懶載入原理
- 直播平臺搭建,自定義View實現loading動畫載入View動畫
- 圖片預載入,圖片懶載入,和jsonp中的一個疑問JSON
- Vue圖片懶載入之lazyload外掛使用Vue
- 圖片預載入和懶載入
- 一起來實現圖片滾動懶載入
- 小說APP原始碼的圖片載入方式,懶載入和預載入的實現APP原始碼
- 直播平臺搭建,JS實現頁面下拉載入資料操作JS
- 圖片懶載入踩坑
- 圖片懶載入大白話
- Js圖片懶載入(lazyload)JS
- 單張圖片懶載入
- Vue中圖片的載入方式Vue
- Vue路由元件按需載入的幾種方法Vue路由元件
- 遊戲陪玩系統原始碼中懶載入的實現方式有哪幾種?遊戲原始碼
- 直播平臺搭建原始碼,更改圖片透明度原始碼
- Vue 的懶載入Vue
- vue12-ElementUI tree元件懶載入的實現VueUI元件
- 頁面圖片預載入與懶載入策略
- 前端優化之圖片懶載入前端優化
- 超智慧vue圖片懶載入之指令化管理(vue-img-lazy-load)Vue