关于微信小程序(uni-app)刷新之前页面的简要策略

在前段数据交互中,可能会碰到由于主页面有数据缓存,个人在修改一些信息后需要刷新加载页面的要求。

下面拿个人的小程序举例子
  • 本tab页面内刷新
  • 在这里插入图片描述
  • 当我进入创建店铺后
  • 在这里插入图片描述
  • 我希望点击提交后第一个用户店铺页面会出现我新建的店铺,这时我该如何做?
步骤
  • 第一个页面内实现下拉刷新
    // 个人用的uni-app
    // 个人在方法中实现了加载选项
    methods: {
    	load() {
    		var _this = this;
    		console.log("user_id = " + _this.user_info.user_id);
    		this.req({
    			url: _this.req_url,
    			data: {
    				'user_id': _this.user_info.user_id
    			},
    			success: res => {
    				_this.my_shop_list = res;
    				_this.rep_num = res.length;
    			}
    		})
    	},
    },
    onPullDownRefresh() {
    	this.load();
    }
    
  • 在第二个创建店铺页面实现第一个店铺页面的刷新,方法有两种
    1. uni-app
      个人在main.js 挂载了如下方法
    2. 微信小程序
      实现如下方法
    function() {
    	var page_arr = getCurrentPages();
    	if (page_arr.length > 0) {
    		// 获得当前页面栈的上一个页面
    		var before_page = page_arr[page_arr.length - 2];
    		// 调用上一个页面的刷新方法
    		before_page.onPullDownRefresh();
    	};
    	uni.navigateBack({
    		
    	});
    }
    

差不多就是这个思路,可以根据自己的需要调整页面栈的索引,也可以使用其他的生命周期函数来实现刷新(不过个人推荐使用这个下拉刷新),至于为何不直接调用methods内的load()方法,因为个人没有测试成功(好像是不支持吧~~~,如果有搞出来的,可以评论补充哦!(~ ̄▽ ̄)~ )

从一个tab页面刷新另一个tab页面

  • 以本人小程序为例
  • 主页面
  • 在这里插入图片描述
  • 个人中心页面
  • 在这里插入图片描述
以下是解决方案
  • 如果我要在个人中心修改地址,并且使主页的店铺随着我的地址修改而改变。因为是跨tab,思路都差不多。
  • 首先前提是默认进入的是主页
  • 个人使用uni-app
    1. 在uni-app的App.vue中
      globalData: {
      		index_page: null,
      	},
      
    2. 在主页中onload()生命周期函数中配置
      getApp().globalData.index_page = getCurrentPages()[0];
      
    3. 在地址修改页面配置
      // 在修改的函数添加如下代码
      getApp().globalData.index_page.onPullDownRefresh();
      
到此结束(只是个人第一次写小程序的一点点小心得,如果有更好的方法,欢迎在下评论。个人小白一定悉心研读,谢谢。)
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值