微信小程序实战之骨架屏的应用与实现

简介: 我们打开一个应用后,应用会通过ajax来请求数据,而在这段空缺的时间,没有数据,内容缺失,这对于用户的感觉很不好,所以我们需要在这个时间段内通过骨架屏来填充这个空缺。

微信小程序骨架屏的应用与实现步骤

什么是骨架屏

骨架屏是作为一种首次渲染加载优化的一种方法

我们打开一个应用后,应用会通过ajax来请求数据,而在这段空缺的时间,没有数据,内容缺失,这对于用户的感觉很不好,所以我们需要在这个时间段内通过骨架屏来填充这个空缺。

1.webp.jpg

如上图所示,一个是没有内容,一个是骨架屏的填充,所以在加载的这一秒内给用户以骨架屏形式的填充是很有必要的。

小程序骨架屏的实现

1. 生成页面骨架

微信小程序开发者工具提供了生成骨架屏的工具,所以我们可以快速高效得实现加载骨架屏

1.webp.jpg

点击三个点,生成骨架屏,即可在对应page文件下生成两个文件,文件中包括了骨架屏的使用方式。

1.webp.jpg

2. 骨架屏的应用

工具生成的骨架屏文件中包含了使用方式,下面我拿person目录举例。

  1. 在person.wxml的头部加入下面的代码(该代码在生成的文件中的注释有提示)
<import src="person.skeleton.wxml"/>
<template is="skeleton" wx:if="{{loading}}" />
复制代码
  1. 在person.wxss的头部引入下面的代码,当然在生成的文件注释里也有相关提示
@import "./person.skeleton.wxss";
复制代码
  1. 在请求的回调函数中进行骨架屏的控制
var set = setInterval(function () {
    clearInterval(set);
    that.setData({
        loading: false, //停止骨架屏
    })
}, 1000)
复制代码

3. 使用注意

  1. 页面更改后可以骨架屏随时更新,随时替换,很方便。
  2. 在使用的过程中经常会遇到元素被提前加载出的情况所以我们需要为真实的页面元素使用wx:if来和骨架屏进行反向操作,可以避免元素加载后出现与骨架屏重叠的现象。
<template is="skeleton" wx:if="{{loading}}" />
<Header  customTitle="个人中心"></Header>
<view class="head" wx:if="{{!isLogin&&!loading}}" bindtap="login">
<image src="../../images/{{season}}-people.png" class="head-img"></image>
<view class="head-name">点击登录</view>
</view>
复制代码

4. 思考后的封装

骨架屏加载函数,我们每个页面都需要进行调用,在我写完一座xx山后意思到了这件事情,出现了这种情况

1.webp.jpg

好了,我们改过自新

  1. 在utils文件下封装一个骨架屏加载方法
const loadScreen = (that,time) => {
    var set = setInterval(function () {
        clearInterval(set);
        that.setData({
            loading: false, //停止骨架屏
            hidden:false
        })
    }, time)
}
复制代码
  1. 在使用页面引入
let util = require('../../utils/util.js')
复制代码
  1. 直接调用
let that =this;
util.loadScreen(that,1500)
复制代码

最后

掘友们有更好的想法可以在评论区留言,我会改造我写的xxx山


相关文章
|
8天前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
8天前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
10天前
|
人工智能 关系型数据库 OLAP
一键搞定本土认证难题,AnalyticDB版Supabase助力AI应用实现支付宝&微信登录
阿里云AnalyticDB PostgreSQL版推出全新第三方身份认证能力,原生支持微信、支付宝、GitHub、Google、Apple等主流平台登录,助力开发者快速构建本土化用户系统。相比传统开发方式,无需从零开发认证模块,5分钟即可完成集成,大幅降低开发成本。适用于AI应用、创业项目及企业级智能应用,提升用户增长效率,实现安全、便捷的身份管理。
人工智能 关系型数据库 OLAP
69 0
|
4月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
282 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
4月前
|
人工智能 自然语言处理 小程序
蚂蚁百宝箱 3 分钟上手 MCP:6 步轻松构建 Qwen3 智能体应用并发布小程序
本文介绍如何用6个步骤、3分钟快速构建一个基于Qwen3与蚂蚁百宝箱MCP的智能体应用,并发布为支付宝小程序。通过结合Qwen3强大的语言理解和生成能力,以及支付宝MCP提供的支付功能,开发者可轻松打造具备商业价值的“数字员工”。案例以“全球智能导游助手”为例,支持119种语言,不仅提供旅行建议,还能收取用户打赏。文章详细说明了从登录百宝箱、创建应用、添加插件到配置角色、发布上架及手机端体验的完整流程,同时提醒当前支付功能仅适用于测试环境。适合希望探索AI应用变现潜力的开发者尝试。
698 14
|
6月前
百炼-我的智能体应用在微信公众号渠道无法得到输出
微信公众号,总是出现思考中,请回复“继续”,而在我的应用观测中已经体现了输出
252 0
|
6月前
|
小程序
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
445 1
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
|
7月前
|
人工智能 自然语言处理 小程序
让小程序拥有“视觉之眼“:DeepSeek图像识别实战指南
本文介绍如何通过DeepSeek计算机视觉技术,赋予小程序“看懂世界”的能力。从构建视觉感知系统、训练专属视觉词典到创造会思考的界面,详细讲解了实现智能相册、植物识别器和老旧照片修复等功能的步骤。最后探讨性能优化与安全合规要点,展望未来视觉智能应用的无限可能。
|
7月前
|
小程序 测试技术 数据安全/隐私保护
微信公众号接口测试实战指南
微信公众号接口测试是确保系统稳定性和功能完整性的重要环节。本文详细介绍了测试全流程,包括准备、工具选择(如Postman、JMeter)、用例设计与执行,以及常见问题的解决方法。通过全面测试,可以提前发现潜在问题,优化用户体验,确保公众号上线后稳定运行。内容涵盖基础接口、高级接口、微信支付和数据统计接口的测试,强调了功能验证、性能优化、安全保护及用户体验的重要性。未来,随着微信生态的发展,接口测试将面临更多挑战和机遇,如小程序融合、AI应用和国际化拓展。

热门文章

最新文章