微信小程序之生命周期函数,路由跳转

生命周期函数,也称为钩子函数

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"
        })
    },
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值