微信小程序 MINA框架 运行机制 加载机制 生命周期 路由

时间:2022-01-02 14:44:53

MINA框架

微信小程序 MINA框架 运行机制 加载机制 生命周期 路由


运行机制

启动
  • 冷启动:用户第一次打开,或打开后被微信主动销毁后,再次启动,小程序需重新加载启动。
  • 热启动:已打开过该小程序,且在一定时间内再次打开,小程序从后台切换到前台。
微信主动销毁情况
  • 运行切换到后台5分钟后
  • 运行时5秒内出现两次警告


加载机制

微信小程序 MINA框架 运行机制 加载机制 生命周期 路由


生命周期

程序生命周期

微信小程序 MINA框架 运行机制 加载机制 生命周期 路由

  • onLaunch:启动时初始化
  • onShow:从后台唤醒,切换到前台
  • onHide:切换到后台
  • onError:脚本错误或API调用失败
  • globalData:应用全局数据
页面生命周期

微信小程序 MINA框架 运行机制 加载机制 生命周期 路由

  • onLoad:页面初次加载,Page构造器参数定义的onLoad方法被调用,页面未销毁之前只调用一次
  • onShow:1. onLoad回调参数  2.从其他页面回到当前页面
  • onReady:onShow方法之后被调用,页面未销毁之前只调用一次,触发后逻辑层和视图层可交互
  • onHide:在当前页打开新的页面
  • onUnload:关闭当前页
  • data:当前页面数据
Page实例

微信小程序 MINA框架 运行机制 加载机制 生命周期 路由


路由

页面栈

框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下:

路由方式 页面栈表现
初始化 新页面入栈
打开新页面 新页面入栈
页面重定向 当前页面出栈,新页面入栈
页面返回 页面不断出栈,直到目标返回页,新页面入栈
Tab 切换 页面全部出栈,只留下新的 Tab 页面
重加载 页面全部出栈,只留下新的页面
路由方式

对于路由的触发方式以及页面生命周期函数如下:

路由方式 触发时机 路由前页面 路由后页面
初始化 小程序打开的第一个页面   onLoad, onShow
打开新页面 调用 API wx.navigateTo 或使用组件 <navigator open-type="navigateTo"/> onHide onLoad, onShow
页面重定向 调用 API wx.redirectTo 或使用组件 <navigator open-type="redirectTo"/> onUnload onLoad, onShow
页面返回 调用 API wx.navigateBack 或使用组件<navigator open-type="navigateBack">或用户按左上角返回按钮 onUnload onShow
Tab 切换 调用 API wx.switchTab 或使用组件 <navigator open-type="switchTab"/> 或用户切换 Tab   各种情况请参考下表
重启动 调用 API wx.reLaunch 或使用组件 <navigator open-type="reLaunch"/> onUnload onLoad, onShow