运行机制
大约 2 分钟mini
上线发布
- IDE中点击 “上传”
- 登录小程序管理后台,在左侧导航菜单依次点击:管理 > 版本管理。找到上传的 “开发版本” 点击 “选择为体验版”,有体验权限的微信用户就可以扫描二维码体验 app 了
- 点击提交审核,等待微信官方审核。提交后要等待 1-7 天
页面间通信
通过 wx.navigateTo 打开新页面时这两个页面将建立一条数据通道,可以让二者进行通信
- 在
wx.navigateTo的success回调中通过EventChannel对象发射事件,通知新页面 - 被打开的页面可以通过
this.getOpenerEventChannel()方法获得一个EventChannel对象,进行监听、发射事件 wx.navigateTo方法中可以定义events配置项接收被打开页面发射的事件
获取 app 实例及全局参数
可通过 getApp() 方法获取到小程序全局唯一的 app 实例,因此在 App() 方法中添加全局共享的数据、方法,从而实现页面、组件的数据传值
// app.ts/app.js
App({
globalData: {
token: ''
},
setToken(token:any){
this.globalData.token = token
},
})
// 其他业务组件
const app = getApp()
onLoad() {
console.log('onLoad')
app.setToken('aaa')// 调用全局方法
console.log(app.globalData.token)// 获取全局变量
},
注意:不要在 App() 方法中使用 getApp() ,使用 this 就可以拿到 app 实例,通过 getApp() 获取实例后不要私自调动声明周期函数
应用程序生命周期
冷启动触发 onLaunch > 元素加载完毕触发 onShow > 小程序进入后台时触发 onHide
热启动触发 onShow
页面生命周期
页面加载完毕触发 onLoad > 页面元素构建完成触发 onShow > 渲染完成触发 onReady > 页面卸载后触发 onUnload。有页面跳转导致当前被隐藏(切换到后台)则会触发 onHide ,当再次被显示时又会触发 onShow 。注意使用 redirect 跳转页面时是关闭当前页面,所以触发的是 onUnload,当使用 navigate 跳转页面时是保留当前页面所以触发的是 onHide
手动强制更新

