前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序开发--【APP(Object)函数介绍】(三)

微信小程序开发--【APP(Object)函数介绍】(三)

作者头像
先知先觉
发布2019-01-28 10:45:12
1.5K0
发布2019-01-28 10:45:12
举报
文章被收录于专栏:伟大程序猿的诞生

什么是APP(Object)

`App()`` 函数用来注册一个小程序。接受一个 Object 参数,其指定小程序的生命周期回调等。

所以也被称为注册程序

App() 必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。

这个有点像安卓开发中的Application。只有一个而且调用一次。

参数说明

属性

类型

描述

触发时机

onLaunch

Function

生命周期回调—监听小程序初始化

小程序初始化完成时(全局只触发一次)

onShow

Function

生命周期回调—监听小程序显示

小程序启动,或从后台进入前台显示时

onHide

Function

生命周期回调—监听小程序隐藏

小程序从前台进入后台时

onError

Function

错误监听函数

小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息

onPageNotFound

Function

页面不存在监听函数

小程序要打开的页面不存在时触发,会带上页面信息回调该函数

其他

Any

开发者可以添加任意的函数或数据到 Object 参数中,用 this 可以访问

前台后台定义: 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。需要注意的是:只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

onLaunch(Object)

小程序初始化完成时触发,全局只触发一次。参数也可以使用 wx.getLaunchOptionsSync 获取。

参数说明:

wx.getLaunchOptionsSync 一致

onShow(Object)

小程序启动,或从后台进入前台显示时触发。也可以使用 wx.onAppShow 绑定监听。

参数说明:

wx.onAppShow 一致

onHide()

小程序从前台进入后台时触发。也可以使用 wx.onAppHide 绑定监听。

onError(String error)

小程序发生脚本错误或 API 调用报错时触发。也可以使用 wx.onError 绑定监听。

参数说明

与 wx.onError 一致

onPageNotFound(Object)

基础库 1.9.90 开始支持,低版本需做兼容处理。

小程序要打开的页面不存在时触发。也可以使用 wx.onPageNotFound 绑定监听。注意事项请参考 wx.onPageNotFound。

参数说明:

与 wx.onPageNotFound 一致

效果展示

代码语言:javascript
复制
//app.js
App({
  onLaunch(options) {
    console.log("==onLaunch==")
  },
  onShow(options) {
    console.log("==onShow==")
  },
  onHide() {
    console.log("==onHide==")
  },
  onError(msg) {
    console.log("==onError==")
  },
  onPageNotFound(res) {
    console.log("==onPageNotFound==")
  },
  globalData: 'I am global data'
})

我们看下日志:

安卓的小伙伴应该能想到 onLaunch 类似 onCreate

onShow 类似 onResume

onHide 类似 onPouse

注意事项

全局的 getApp() 函数可以用来获取到小程序 App 实例。

代码语言:javascript
复制
// other.js
const appInstance = getApp()
console.log(appInstance.globalData) // I am global data

不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。 通过 getApp() 获取实例之后,不要私自调用生命周期函数。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年01月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是APP(Object)
  • 参数说明
    • onLaunch(Object)
      • onShow(Object)
        • onHide()
          • onError(String error)
            • onPageNotFound(Object)
            • 效果展示
            • 注意事项
            相关产品与服务
            云开发 CloudBase
            云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档