小程序逻辑层/App()/Page()

320 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

这周末基本就是玩了,没学习心得知识,只是对小程序的知识做了简单的复习,主要是小程序的逻辑层,主要涉及到了如何注册小程序,即全局调用App()方法,还有单独页面的逻辑层调用Page()方法,下面给大家做详细介绍。

注册小程序

每个小程序的app.js文件中都有且只有一个app()方法,该方法注册出全局唯一一个小程序实例,yo通过getApp()获取该实例。 在 JavaScript 的基础上,小程序增加了一些功能,以方便小程序的开发: 注册小程序。接受一个 Object 参数,其指定小程序的生命周期回调等。

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

  • 增加 App 和 Page 方法,进行程序注册。
  • 增加 getApp 和 getCurrentPages 方法,分别用来获取 App 实例和当前页面栈。
  • 提供丰富的 API,如微信用户数据,扫一扫,支付等微信特有能力。
  • 提供模块化能力,每个页面有独立的作用域。微信小程序的作用域按页面进行划分的,每个页面是一个作用域。

onLaunch(Object object)g那个

只小程序初始化时触发一次

onShow(Object object)

初始化化时触发一次,其他时候也可能会触发。每次从后台进入前台时显示,会触发

onHide()

小程序从前台进入到后台时触发

onError(String error)

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

onPageNotFound(Object object)

小程序要打开的页面不存在时触发。

onUnhandledRejection(Object object)

小程序有未处理的 Promise 拒绝时触发。

onThemeChange(Object object)

系统切换主题时触发

globalData

作用:该属性存储全局数据

注册页面

以下配置都在Page(Object)方法里进行配置

data属性

是第一次渲染时初始化的数据,在模板里直接使用定义好的变量即可。

onLoad()

页面打开时触发一次,执行完成之后,会保存到缓存中,再次进入该页面,会读取缓存。

onShow()

页面显示/切入前台时触发。会执行多次

onReady()

  • 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
  • 该生命周期可以理解为真实DOM已经渲染完成,可以操纵页面。大多控制一些渲染层的接口。

onHide()

页面隐藏/切入后台时触发。执行多次

onUnload()

页面卸载时触发。如wx.redirectTowx.navigateBack到其他页面时。钱买你这两个方法会把缓存的生命周期进行卸载,导致onUnload()触发。

以上呢,就是全局的js逻辑层和单独页面的逻辑层钩子函数,希望能对小伙伴们有帮助。