小程序启动
冷启动:如果用户首次打开,或小程序销毁后被再次打开,此时小层序需要重新加载启动
热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被
销毁,只是从后台状态进入前台状态
1.小程序更新并应用最新版本
// app.js
App({
onLaunch() {
// 使用wx.getUpdateManager() 方法监听下载的状态
const updateManager = wx.getUpdateManager()
// 当下载完成新版本后,会触发 onUpdataReady 回调函数
updateManager.onUpdateReady(function () {
// 在回调函数中给用户提示
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用',
success(res) {
if(res.confirm){
// 强制当前小程序使用新版本并且会重新启动当前小程序
updateManager.applyUpdate()
}
}
})
})
}
})
2 小程序完整的生命周期
由应用生命周期、页面生命周期、组件生命周期三部分组成
1> 应用生命周期
指一个小程序从启动到运行到销毁的整个过程
应用生命周期函数需要在app.js文件的App()方法中进行定义,App()方法必须在app.js中进行调
用,主要用来注册小程序
启动小程序(冷启动)→ onLaunch (小程序初始化,只会触发一次) → onShow (小程序启动或
切前台)→ onHide(小程序切后台)
→ [ ......(小程序挂起30分钟后被销毁)→ 启动小程序(冷启动)→ ..... ]
→ [ ......(小程序挂起30分钟内)→ onShow (小程序启动或切前台)(热启动) → .......]
2> 页面生命周期
指小程序页面从 加载 到 运行 到 销毁的整个过程
页面生命周期函数需要在Page()方法进行定义
访问页面 → onLoad ( 监听页面加载 一个页面只会调用一次) → onShow (监听页面展示 )
→ [ onReady(监听页面渲染完成 一个页面只会调用一次)→ onUnload (监听页面卸载)]
→ [ onHide ( 监听页面隐藏,当前小程序进入后台时,也会触发执行) → onShow (监听页面展
示,当前小程序从后台进入前台时,也会触发执行 ) → ....... ] (navaigate 跳转时,保留当前页
面)
3 生命周期细节
1.taBar 页面之间进行相互切换,页面不会被销毁
2.点击左上角,返回上一个页面,当前页面会被销毁
4 navigator 组件跳转方式
绑定属性open-type
navigate:保留当前页面,跳转到某个页面,但不能跳转到tabbar页面
redirect:关闭当前页面,跳转到某个页面,但不能跳转到tabbar页面
switchTab:跳转到tabbar页面。并关闭其他所有的非tabbar页面
reLaunch:关闭所有页面,跳转到某个页面
navigateBack:关闭当前页面,返回上一页面或多级页面
注:url 后可参数,参数与路径之间用?隔开,参数键与参数值用=相连,不同参数,用&分割