vue3前端开发-小兔鲜项目-图片懒加载的自定义标签

vue3前端开发-小兔鲜项目-图片懒加载的自定义标签!很多大型网站,因为首页面渲染的内容太多了,然而有些用户,可能在顶部就发现了自己感兴趣的内容,直接就点击跳转去了其他页面,因此,完全没有必要完全加载所有的页面内容,使用懒加载,可以俭省节约一些服务器的资源调用。降低服务器的压力。这种业务场景,在大型网站的客户体验度优化中是非常常见和必须的。


下面直接看代码的操作流程和内容。


第一步,我们新建一个index.js。存档放在目录

如图,在directives目录下面新建一个index.js

在这里面我们自定义一个懒加载的插件。然后在主配置文件main.js中调用注册一下就行了。


复制代码
//定义懒加载插件
import { useIntersectionObserver } from "@vueuse/core";
export const lazyPlugin = {
    install(app){
        //懒加载指令逻辑
        app.directive('img-lazy',{
            mounted(el,binding){
                //el:指令绑定的那个元素 img
                //binding: binding.value 指令等于号后面绑定的
                console.log(el,binding.value)
                useIntersectionObserver(
                    el,
                    ([{isIntersecting}]) =>{
                        console.log(isIntersecting)
                        if(isIntersecting){
                            //进入视口区域
                            el.src = binding.value
                        }
                    },
                )
            }
        })
    }
}

解释一下,意思就是,这个指令将来会绑定到img标签里面,作为一个动态渲染图片内容的作用。

当浏览器的页面视图进入浏览区域内,就会加载绑定我们的接口调用绑定过来的资源信息,给img标签做图片渲染操作。

就是这个意思。


在main.js中做一个调用,和注册即可,非常简单。

下面是测试的效果情况。


如图,我们为了便于观察页面请求的资源,打开浏览器自带的开发者模块。

打开图片监控按钮。

此时,页面缓慢的向下拖动滚动条,当人气推荐栏目露头的时候,就会马上渲染加载图片。


如图,加载了这四张图片。

相关推荐
_yingty_1 分钟前
GO语言入门经典-反射3(Value 与对象的值)
开发语言·前端·后端·学习·golang
vvilkim4 分钟前
Python multiprocessing 模块全面解析:解锁真正的并行计算能力
java·开发语言
糟糕好吃14 分钟前
如何用一个插件让你的 Taro 项目启动快 3 倍?
前端·javascript·微信小程序
zew104099458828 分钟前
MATLAB实现电池剩余放电时间预测【电子信息专业】
开发语言·matlab·课设·电池剩余放电时间预测
糖墨夕30 分钟前
【1】Three.js入门心得记-开发环境及准备工作
前端·three.js
前端_学习之路34 分钟前
Vue--状态管理pinia
前端·javascript·vue.js
萌萌哒草头将军36 分钟前
🔥🔥🔥MCP TypeScript SDK 初体验:挑战快速搭建一个 AI 应用!
前端·javascript·mcp
qq_3168377540 分钟前
uniapp 打包 H5 向 打包的APP 使用 @dcloudio/uni-webview-js 传值
开发语言·javascript·uni-app
冴羽yayujs1 小时前
SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证
前端·javascript·vue.js·react.js·前端框架·svelte·sveltekit
liuyunshengsir1 小时前
golang 中 make 和 new 的区别?
开发语言·后端·golang