跳至主要內容

运行机制

chanchaw大约 2 分钟mini

上线发布

  1. IDE中点击 “上传”
  2. 登录小程序管理后台,在左侧导航菜单依次点击:管理 > 版本管理。找到上传的 “开发版本” 点击 “选择为体验版”,有体验权限的微信用户就可以扫描二维码体验 app 了
  3. 点击提交审核,等待微信官方审核。提交后要等待 1-7 天

页面间通信

通过 wx.navigateTo 打开新页面时这两个页面将建立一条数据通道,可以让二者进行通信

  1. wx.navigateTosuccess 回调中通过 EventChannel 对象发射事件,通知新页面
  2. 被打开的页面可以通过 this.getOpenerEventChannel() 方法获得一个 EventChannel 对象,进行监听、发射事件
  3. 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

手动强制更新