小程序-生成页面骨架屏

骨架屏是页面的一个空白版本,通常会在页面完全渲染之前,通过一些灰色的区块大致勾勒出轮廓,待数据加载完成后,再替换成真实的内容。

骨架屏作用是缓解用户等待时的焦虑情绪,属于用户体验优化方案。

微信开发者工具提供了自动生成骨架屏代码的能力。

正常展示:

骨架屏:

1、生成骨架屏

生成 .wxml 和 wxss 文件

将这两个文件复制到vscode中,转成组件

2、转成vue组件

留下需要处理的部分

处理报错:

3、显示骨架屏

数据是否正在加载中?是就显示骨架屏,不是就显示正常组件(页面)

<template>

<!-- 自定义导航栏 -->

<CustomNavbar />

<scroll-view

refresher-enabled

:refresher-triggered="isTriggered"

@refresherrefresh="onRefresherrefresh"

@scrolltolower="onScrolltolower"

scroll-y

class="scroll-view"

>

<!-- 骨架屏 -->

<PageSkeleton v-if="isLoading" />

<template v-else>

<!-- 轮播图 -->

<XtxSwiper :list="bannerList" />

<!-- 分类面板 -->

<CategoryPanel :list="categoryList" />

<!-- 热门推荐面板 -->

<HotPanel :list="hotList" />

<!-- 猜你喜欢 -->

<XtxGuess ref="guessRef" />

</template>

</scroll-view>

</template>

// 是否显示骨架屏

const isLoading = ref(false)

// 页面加载

onLoad(async () => {

isLoading.value = true

await Promise.all([getHomeBannerData(), getHomeCategoryData(), genHomeHotData()])

// getHomeBannerData()

// getHomeCategoryData()

// genHomeHotData()

isLoading.value = false

})

数据加载完成,正常显示页面

相关推荐
joan_854 分钟前
layui表格templet图片渲染--模板字符串和字符串拼接
前端·javascript·layui
m0_7482361135 分钟前
Calcite Web 项目常见问题解决方案
开发语言·前端·rust
Watermelo6171 小时前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
m0_748248941 小时前
HTML5系列(11)-- Web 无障碍开发指南
前端·html·html5
m0_748235611 小时前
从零开始学前端之HTML(三)
前端·html
一个处女座的程序猿O(∩_∩)O3 小时前
小型 Vue 项目,该不该用 Pinia 、Vuex呢?
前端·javascript·vue.js
hackeroink6 小时前
【2024版】最新推荐好用的XSS漏洞扫描利用工具_xss扫描工具
前端·xss
迷雾漫步者8 小时前
Flutter组件————FloatingActionButton
前端·flutter·dart
向前看-8 小时前
验证码机制
前端·后端
燃先生._.9 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js