生命周期函数,也称为钩子函数
App对象
1 onLaunch: 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
1)获取用户信息
2)发起ajax请求,获取全局数据
3)模拟启动小程序出错
2 onShow: 当小程序启动 或 切前台
3 onHide: 当小程序切后
4 onError: 当小程序出错会就调用onError
Page对象:
onLoad:页面加载时执行,只执行一次
onShow:页面展示时执行,执行多次
onReady:页面初次渲染时执行,只执行一次
onHide:页面从前台进入后台时执行
onUnload:页面卸载时执行
·························································
多个页面切换时,状态需要改变,使用onShow。
多个页面切换时,状态不需要改变,使用onLoad或onReady。
页面中如果有定时器,清除定时器,使用onUnload。
··························································
A,B两个页面,首次先加载A页面,A的生命周期:onLoad ==> onShow ==> onReady
从A页面切换到B页面,先触发A页页面的onHide,然后触发B页面的:onLoad ==> onShow ==> onReady
从B页面返回到A页面,先触发B页页面的onUnload,然后触发A页面的onShow
Component对象:
组件中的生命周期
lifetimes:{
created:
组件实例刚刚被创建好
可以访问data中的数据
不可以更新状态机,不能调用setData
可以给组件添加自定义属性
attached:
当组件挂载到页面上时会调用
detached:当组件挂载到页面上时会调用}
组件所在页面的生命周期
pageLifetimes:{
show(){ // 组件所在页面出现后
},
hide(){ // 组件所在页面隐藏时
},
resize(){
}
}
跳转
最基本的页面跳转
<navigator url="/pages/detail/detail">跳转</navigator>
navigate类型的跳转 open-type指跳转的类型
<navigator
url="/pages/detail/detail"
open-type="navigate"
>跳转(navigate)</navigator>
返回上一级的方法:
<navigator open-type="navigateBack">返回</navigator>
给button 按钮注册一个点击事件
onBackHome(){
wx.navigateBack({
delta: 2, // delta表示返回上几级
})
}
返回上一级改变数据
onUnload(){
// console.log("detail unload~");
// 获取当前所有的活动页面
let pageArr = getCurrentPages();
// console.log(pageArr);
// 获取首页面对象
let homePage = pageArr[0]
homePage.setData({
site:"taobao.com"
})
},