阅读(4214) (12)

启动程序

2020-02-07 20:42:33 更新

App()

App(params) 是框架启动小程序的入口函数,需要开发者可以通过 App(params)的参数指定小程序的生命周期函数和其他一些自定义参数。


params 参数说明:

属性类型描述触发时机
onLaunchFunction生命周期函数--监听小程序初始化当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
onShowFunction生命周期函数--监听小程序显示当小程序启动,或从后台进入前台显示,会触发 onShow
onHideFunction生命周期函数--监听小程序隐藏当小程序从前台进入后台,会触发 onHide
onErrorFunction错误监听函数当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
其他Any开发者可以添加任意的函数或数据到 Object 参数中,用 this 可以访问


示例代码:

App({
  onLaunch: function(options) {
    // Do something initial when launch.
  },
  onShow: function(options) {
    // Do something when show.
  },
  onHide: function() {
    // Do something when hide.
  },
  onError: function(msg) {
    console.log(msg);
  },
  globalData: "I am global data"
});

onLaunch 参数

onLaunch 参数同tt.getLaunchOptionsSync

onShow 参数:

属性类型说明
pathString启动页面
queryObject启动参数
referrerInfoObject来源信息。从另一个小程序进入小程序时返回。
sceneString场景值

referrerInfo 说明

字段类型说明
appIdString来源小程序 id
extraDataObject来源小程序打开当前小程序时携带的数据

onPageNotFound

当要打开的页面并不存在时,会回调这个监听器,并带上以下信息:

属性类型说明
pathString不存在页面的路径
queryObject打开不存在页面的 query
isEntryPageBoolean是否本次启动的首个页面
示例代码:
App({
  onPageNotFound(res) {
    tt.redirectTo({
      url: "pages/..."
    }); // 重定向页面;如果是 tabbar 页面,请使用 tt.switchTab
  }
});

getApp()

如果想在 page 里面获取 App()设置的全局变量的话,可以通过 getApp()获取。

示例代码:
var appInstance = getApp();
console.log(appInstance.globalData); // I am global data