微信小程序开发指南:逻辑层注册程序 App() 函数
App()
App()
函数用于注册小程序。接受对象参数,指定小程序的生命周期功能等。
对象参数说明:
属性 | 类型 | 描述 | 触发时机 |
---|---|---|---|
onLaunch | 功能 | 生命周期功能 - 监听小程序的初始化 | 做一个小程序 初始化完成后,会激活onLaunch(仅全局激活一次) |
onShow | 功能 | 生命周期功能 - 监听小程序屏幕 | 当小程序启动或从后台进入前台屏幕时,会激活 onShow |
onHide | 功能 | 生命周期功能-监听小程序皮肤 | 当小程序从前台移动到前台时后台,onHide |
onError | Function | 错误监听开启 | 当小程序出现脚本错误或者API调用失败时,会触发onError并返回错误信息 |
其他 | 任何 | 开发者可以使用任何功能或数据添加到Object参数中,使用this 可以访问 |
前景和背景定义:当用户点击左上角关闭时,或者按下设备的Home键离开微信,小程序不会立即销毁,而是淡入后台;再次输入微信或打开小程序,即可从后台进入前台。需要注意的是,小程序只有在后台停留一定时间,或者系统资源使用率过高时,才会被真正销毁。
关闭小程序(基础库1.1.0版本开始支持): 当用户通过扫描、转发等输入打开小程序时(场景值为1007、1008、1011、 1025),没有固定的小程序。退出程序将破坏小程序。基础库1.4.0版本改变了小程序的工作机制:之前的关闭逻辑在新版本中不再适用,详情
示例代码:
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、onShow参数
字段 | 类型 | 描述 |
---|---|---|
路径 | 字符串 | 打开小程序的路径 |
查询 | 对象 | 查询打开小程序 |
场景 | 号码 | 打开小程序场景值 |
shareTicket | String | shareTicket,详情请参阅获取更多转发信息 |
referrerInfo | 物体 | 场景被其他小程序打开时,返回该字段 |
referrerInfo.appId | String | 源小程序的appId |
referrerInfo.extraData | Object | 源传入的数据小程序 |
场景值 查看详细信息。
getApp()
我们提供了全局函数getApp()
,可以获取小程序实例。
// other.js
var appInstance = getApp()
console.log(appInstance.globalData) // I am global data
注意:
App()
必须在app.js中注册,不允许多次注册。
不要在App()
中定义的函数中调用getApp()
。使用 this
获取应用实例。
请勿在 onLaunch 期间调用 getCurrentPage()
。该页面尚未生成。
通过getApp()
获取实例后,请勿私自调用生命周期函数。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。