微信小程序--操作微信自带的返回按钮使上个页面刷新列表或刷新数据

本文介绍了页面栈的概念及其在路由切换中的行为,包括初始化、打开新页面、重定向、返回和Tab切换等情况。通过getCurrentPages()函数获取页面栈,并演示了在页面卸载时如何更新上一页面的数据以实现返回时刷新列表。此外,还讨论了如何全局隐藏返回箭头以及在特定页面隐藏返回主页按钮的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先要了解什么是页面栈------------

框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下:

路由方式页面栈表现
初始化新页面入栈
打开新页面新页面入栈
页面重定向当前页面出栈,新页面入栈
页面返回页面不断出栈,直到目标返回页
Tab 切换页面全部出栈,只留下新的 Tab 页面
重加载页面全部出栈,只留下新的页面

 开发者可以使用 getCurrentPages() 函数获取当前页面栈,得到的是一个数组对象

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

业务场景:  

    当前页面返回后,刷新上个页面的列表数据 

 

 

 /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {
               // 获取当前页面
        const pages = getCurrentPages();
        // 获取上一级页面
        const beforePage = pages[pages.length - 2];

        beforePage.setData({ //直接修改上个页面的数据(可通过这种方式直接传递参数)
            backRefresh: true  //函数封装,传值为true时调接口刷新页面
        })
    },

全局隐藏返回箭头

//在app.json中全局设置,则每个页面会隐藏返回箭头
"window":{
  "navigationStyle":"custom"
}


----------------------------------------------
//当前页面
onShow:function(){
     wx.hideHomeButton();  //隐藏返回主页按钮
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值