小程序开发框架 —— 框架接口汇总(一)

App(config: Object)

介绍

注册小程序。接受一个 Object 参数,其指定小程序的生命周期回调等。

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

参数

属性类型默认值必填描述最低版本
onLaunchfunction生命周期回调——监听小程序初始化。
onShowfunction生命周期回调——监听小程序启动或切前台。
onHidefunction生命周期回调——监听小程序切后台。
onErrorfunction错误监听函数。
onPageNotFoundfunction页面不存在监听函数。
onThemeChangefunction监听系统主题变化
onEventfunction点击看板的时候触发事件
其他any开发者可以添加任意的函数或数据变量到 Object 参数中,用 this 可以访问

生命周期

onLaunch(options: Object)

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

参数:与 ty.getLaunchOptionsSync 一致

onShow(options: Object)

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

参数:与 ty.onAppShow 一致

onHide()

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

onError(String error)

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

参数:与 ty.onError 一致

onPageNotFound(options: Object)

小程序要打开的页面不存在时触发。也可以使用 ty.onPageNotFound 绑定监听。 参数:与 ty.onPageNotFound 一致

示例代码:

App({
  onPageNotFound(res) {
    ty.redirectTo({
      url: '/pages/...',
    }); // 如果是 tabbar 页面,请使用 ty.switchTab
  },
});

👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。  

onThemeChange(options: Object)

系统切换主题时触发。也可以使用 ty.onThemeChange 绑定监听。

参数:与 ty.onThemeChange 一致

示例代码

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

onEvent(options: Object)

点击看板的时候触发事件, 参数为 boardMenus 中的对象。

参数:与 ty.onAppEvent 一致

示例代码

App({
  onEvent(option) {
    console.log(option);
  },
  globalData: 'I am global data',
});

getApp(): AppObject

获取到小程序全局唯一的 App 实例。

示例

// other.js
var appInstance = getApp();
console.log(appInstance.globalData); // I am global data

注意事项

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

 

默认模式

基础库 >= 2.16.0

如果在 App() 前调用了 getApp(),则该函数会返回 {__fake_app__: true} 的假对象,而不是真正的 App 实例。在该对象上添加的任何属性和方法,都会被覆盖到真正的 App 实例上。 请注意属性名冲突的问题。

 

getCurrentPages(): PageObject[]

获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。

注意事项

  • 不要尝试修改页面栈,会导致路由以及页面状态错误。
  • 不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。

示例

getCurrentPages(): PageObject[]
获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。

注意事项

不要尝试修改页面栈,会导致路由以及页面状态错误。
不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。
示例
// page/index.js
Page({
  onLoad() {
    const pageInsts = getCurrentPages();
    const currentPagePath = pageInsts[pageInsts.length - 1].route;
    consoe.log('currentPagePath ===> ', currentPagePath);
  },
});

 👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。  

  • 22
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值