直播平臺搭建,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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Vector Magic for mac(向量圖片轉換工具)1.2.0啟用版
- NLP文字生成全解析:從傳統方法到預訓練完整介紹NLP
- 使用JWT、攔截器與ThreadLocal實現在任意位置獲取Token中的資訊,並結合自定義註解實現對方法的鑑權
- 成品直播原始碼推薦,原生button按鈕css去掉預設樣式CSS
- app直播原始碼,JS 替換日期的橫槓為斜槓
- 直播系統程式碼,常用搜尋中搜尋歷史,搜尋推薦功能
- Python requests 庫中 iter_lines 方法的流式傳輸最佳化Python
- 36個頂級資料分析方法與模型!
- 成品直播原始碼,JAVA獲取圖片的寬、高和大小Java
- 直播平臺製作,ViewPager自動輪播,手指按住停止輪播
- 如何優雅使用 vuexVue
- Avatar虛擬形象解決方案,趣味化的影片拍攝與直播新體驗
- 百度搜尋智慧化算力調控分配方法
- Linux 本地AMH 伺服器管理皮膚實現遠端訪問方法Linux
- 如何透過 wireshark 捕獲 C# 上傳的圖片C#
- 直播系統原始碼,Vue 禁止輸入框輸入空格Vue
- 行行AI直播:2023第十屆中國產業數字化大會人工智慧
- 影片直播系統原始碼,自定義背景和狀態管理