微信小程序:onReady详解

onReady 全面梳理

今天我们来讲一下微信小程序里面的onReady函数

一、是什么?

页面首次渲染完成的回调函数

  • 小程序页面的生命周期函数
  • 表示页面视图层布局完成
  • 一个页面只会调用一次

二、特点

  • 在 onLoad 之后执行
  • 页面已渲染完成,DOM 可操作
  • 只会执行一次(除非页面被销毁重创建)

三、使用场景

1. 布局相关操作
javascript 复制代码
onReady() {
  // 获取元素尺寸
  this.calculateHeaderHeight();
  
  // 设置滚动位置
  wx.pageScrollTo({
    scrollTop: 0
  });
}
2. 动画初始化
javascript 复制代码
onReady() {
  // 启动入场动画
  this.animation = wx.createAnimation();
  this.startEntranceAnimation();
}
3. 图表/地图初始化
javascript 复制代码
onReady() {
  // 初始化图表(需要容器已渲染)
  this.initChart();
  
  // 创建地图组件
  this.mapCtx = wx.createMapContext('myMap');
}
4. 第三方库初始化
javascript 复制代码
onReady() {
  // 需要DOM的库在此初始化
  this.initRichText();
  this.initVideoPlayer();
}

四、与其他生命周期对比

生命周期 时机 主要用途
onLoad 页面加载时 接收参数、初始化数据
onReady 页面渲染完成 操作DOM、初始化视图
onShow 页面显示时 更新数据、恢复状态

总结

onReady = 页面视觉准备就绪,可以安全操作页面元素和启动视觉效果的时机

相关推荐
icebreaker8 小时前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker8 小时前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者3 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround4 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround4 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp
吴声子夜歌4 天前
小程序——布局示例
小程序
码云数智-大飞4 天前
如何创建自己的小程序,码云数智与有赞平台对比
微信小程序
luffy54594 天前
微信小程序页面使用类似filter函数的wxs语法
微信小程序·小程序
Slow菜鸟4 天前
微信小程序开发(二)目录结构完全指南
微信小程序·小程序
攀登的牵牛花4 天前
给女朋友写了个轻断食小程序:去老丈人家也是先动筷了
前端·微信小程序