当前位置:首页 > uni-app

uniapp实现懒加载

2026-02-05 17:35:06uni-app

uniapp实现懒加载的方法

图片懒加载uniapp中,可以使用<image>标签的lazy-load属性实现图片懒加载。该属性仅在pagescroll-view时生效,且需要设置scroll-view的高度。

<scroll-view scroll-y style="height: 100vh;">
  <image 
    v-for="(item, index) in list" 
    :key="index" 
    :src="item.src" 
    lazy-load
    mode="aspectFill"
  ></image>
</scroll-view>

列表数据懒加载 对于长列表数据的懒加载,可以通过监听scroll-view@scrolltolower事件或页面的onReachBottom生命周期实现。

export default {
  data() {
    return {
      list: [],
      page: 1,
      loading: false,
      noMore: false
    }
  },
  methods: {
    loadMore() {
      if (this.loading || this.noMore) return;
      this.loading = true;

      // 模拟异步请求
      setTimeout(() => {
        const newData = Array(10).fill(0).map((_,i) => ({ 
          id: this.list.length + i,
          src: `https://picsum.photos/200/300?random=${this.list.length + i}`
        }));

        this.list = [...this.list, ...newData];
        this.page++;
        this.loading = false;

        // 假设总共30条数据
        if (this.list.length >= 30) {
          this.noMore = true;
        }
      }, 1000);
    }
  },
  onReachBottom() {
    this.loadMore();
  }
}

组件懒加载 使用vue的异步组件配合uniappeasycom机制可以实现组件懒加载。

uniapp实现懒加载

pages.json中配置:

{
  "easycom": {
    "^lazy-(.*)": "@/components/lazy/$1.vue"
  }
}

创建异步组件:

uniapp实现懒加载

// components/lazy/my-component.vue
export default {
  name: 'lazy-my-component',
  // 组件实现
}

使用时直接按需引入:

<template>
  <lazy-my-component v-if="showComponent" />
</template>

注意事项

  • 图片懒加载需要真机调试,部分模拟器可能无法正常显示效果
  • 列表懒加载应配合加载状态提示和没有更多数据提示
  • 组件懒加载适用于较大且不立即需要的组件
  • iOS平台需要确保scroll-view有明确的高度值

通过以上方法可以有效减少首屏加载时间,提升用户体验。根据实际需求选择适合的懒加载方案,也可以组合使用多种方式。

标签: 加载uniapp
分享给朋友:

相关文章

精通uniapp

精通uniapp

掌握UniApp的基础知识 UniApp是一个基于Vue.js的跨平台开发框架,支持一次开发多端部署(如H5、小程序、App等)。核心概念包括Vue语法、组件化开发、条件编译(针对不同平台适配)以及U…

海康 uniapp

海康 uniapp

海康威视与UniApp集成方案 海康威视的硬件设备(如摄像头、NVR等)与UniApp结合,通常需要通过海康的开放平台API或SDK实现功能调用。以下是具体实现方法: 获取海康威视开放平台权限 注册…

uniapp 美颜

uniapp 美颜

uniapp 美颜实现方法 在uniapp中实现美颜功能可以通过多种方式完成,以下是一些常见的方法: 使用原生插件 uniapp支持调用原生插件实现美颜效果,适用于对性能要求较高的场景。需要开发原生…

丸子uniapp

丸子uniapp

丸子UniApp简介 丸子UniApp是一个基于UniApp框架开发的移动应用解决方案,通常用于快速构建跨平台应用(如微信小程序、H5、Android/iOS等)。其核心特点是利用UniApp的“一次…

uniapp 画板

uniapp 画板

uniapp 实现画板功能的方法 在 uniapp 中实现画板功能,可以通过 canvas 组件结合触摸事件来完成。以下是一个基本的实现方案: 基本画板实现 在 template 中添加 canva…

uniapp审批

uniapp审批

uniapp审批流程实现 在uniapp中实现审批功能,通常需要结合前端界面和后端逻辑。以下是几种常见的实现方式: 前端界面设计 使用uniapp的组件和API构建审批界面,包括表单提交、审批列表展…