小程序注册
整个小程序只有一个 App 实例,是全部页面共享的。开发者可以通过 getApp 方法获取到全局唯一的 App 示例,获取App上的数据或调用开发者注册在 App 上的函数。
例如
// xxx.js
const appInstance = getApp()
console.log(appInstance.globalData) // I am global data
页面注册
页面路由
可以通过getCurrentPages()获取当前的页面栈,打开新页面onLoad() onShow()
当前页面 路由后页面 触发的生命周期(按顺序)
- A A
Nothing happend - A B
A.onHide(), B.onLoad(), B.onShow() - A B(再次打开)
A.onHide(), B.onShow() - C A
C.onUnload(), A.onShow() - C B
C.onUnload(), B.onLoad(), B.onShow() - D B
D.onUnload(), C.onUnload(), B.onLoad(), B.onShow() - D(从转发进入) A
D.onUnload(), A.onLoad(), A.onShow() - D(从转发进入) B
D.onUnload(), B.onLoad(), B.onShow()- Tips:
navigateTo, redirectTo 只能打开非 tabBar 页面。
switchTab 只能打开 tabBar 页面。
reLaunch 可以打开任意页面。
页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。
调用页面路由带的参数可以在目标页面的onLoad中获取。
- Tips:
模块化
使用.js模块的时候需要导入该模块——var common = require(‘common.js’)
module.exports.sayHello = sayHello
API
on开头为监听
sync结尾同步