微信小程序开发——实现从某一特定页面跳转到底部导航栏页面时刷新,而从其他页面跳转时不刷新(从b页面跳转到a页面时执行刷新操作,而从其他跳转到a页面时不执行刷新操作)。

通过在app.js设置全局变量skipPara,当a页面onShow时检查此变量。若skipPara为1,则执行刷新操作,之后重置为0。在b页面完成特定操作后,将skipPara设为1并跳转至a页面,实现页面刷新。
摘要由CSDN通过智能技术生成

我解决这一问题的方法是使用小程序的一个全局变量参数(skipPara)来控制。

原理是,当a页面被展示时(onShow),就对全局变量参数(skipPara)进行判断,如果全局变量参数(skipPara)的值为1,则对a页面进行刷新,其他情况不刷新。

全局变量设置:在app.js文件中设置全局变量skipPara: 

App({

  globalData: {

    skipPara:0,//设置初始值为0,即其他页面跳转到该页面不刷新

  },

然后在a页面获取这个全局变量,并对其值进行判断:

const app = getApp()
Page({

    onShow: function () {
        //使用app.globalData.skipPara来获取全局变量skipPara。
        if (app.globalData.skipPara==1) {
            this.onPullDownRefresh();//对skipPara的值进行判断,若值等于1则调用刷新函数。
            app.globalData.skipPara=0;//在刷新之后重置skipPara的值,不然的话全局变量就变成了1,使所有页面跳转到a页面都会进行刷新
      }
  },

})

 同时,还需要在b页面设置一个逻辑,就是当用户进入该页面并完成操作后想跳转到a页面时,将全局变量设置为1,使其完成跳转动作的同时对a页面进行刷新:

success: function (res) {
              if (res.cancel) {
                 //点击取消
              } else {
                 //点击确定
                 app.globalData.skipPara=1;//用户点击确定后将全局变量设置为1,并跳转
                 wx.switchTab({
                  url: '/pages/index/index',
                })
              }
           },

至此,需求完成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值