当前位置:首页 > 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的跨平台开发框架,支持一次开发,多端部署。开发者可以通过编写一套代码,发布到iOS、Android、Web以及各种小程序平台(如微信、支付宝、百…

uniapp swiper禁止滑动

uniapp swiper禁止滑动

禁用 Swiper 滑动的方法 在 UniApp 中,可以通过设置 disableTouch 属性或动态绑定 touchable 属性来禁止 Swiper 组件的滑动行为。 方法一:通过 disab…

uniapp 成功案例

uniapp 成功案例

成功案例概览 UniApp 凭借跨平台开发能力,已被多个行业采用,涵盖电商、社交、教育、政务等领域。以下为部分典型案例: 京东拼购 京东拼购(现为“京喜”)采用 UniApp 开发,实现微信小程序、…

uniapp招聘信息

uniapp招聘信息

uniapp招聘现状 目前市场上对uniapp开发者的需求主要集中在移动端跨平台开发领域,许多企业希望招聘能够同时开发iOS和Android应用的全栈人才。招聘岗位通常要求掌握Vue.js框架、熟悉小…

uniapp 跟随键盘

uniapp 跟随键盘

uniapp 键盘弹出时调整布局的方法 在 uniapp 中实现页面内容跟随键盘弹出调整布局,可通过以下方式实现: 监听键盘高度变化 使用 uni.onKeyboardHeightChange 监听…

uniapp 审批流程

uniapp 审批流程

uniapp 审批流程实现方法 在uniapp中实现审批流程,通常需要结合前端页面设计和后端逻辑处理。以下是常见的实现方案: 页面设计与组件开发 审批流程通常需要展示流程图、审批记录和操作按钮。可以…