uniapp、vue返回上一个页面并刷新(调用上一个页面的方法)

在微信小程序中,从B页面提交表单成功后返回A页面需要获取最新数据。方法一是利用onshow生命周期,但会导致下拉刷新时重复调用。方法二是通过getCurrentPages获取上一页实例并调用其getlist()方法。在B页面的navigateBack成功回调中执行此操作。

在写微信小程序时有个功能有点问题

需求是,在当前页面(A页面)查看列表,在A页面点击发布跳转到表单页(B页面)。B页面提交成功返回上一页A,要判断如果发布成功,返回到A页面得拿到最新数据(相当于要监听返回到A页面时得刷新数据了)

方法一:

使用onshow的生命周期,但是这个有个缺点,就是因为A页面是有下拉刷新的功能,如果在onshow调用的话,当用户下拉,onshow里的方法会被调用1次。这样导致页面的数据重复了

方法二:

使用getCurrentPages方法拿到上一页的内容。当在B页面返回时调用A页面的getlist()方法。

A页面

getlist(){
//被调用的方法

}

 B页面

let pages = getCurrentPages(); // 当前页面
let beforePage = pages[pages.length - 2];  //上一个页面
uni.navigateBack({
	success: function() { 
			 beforePage.$vm.getlist();
	}
})

 

 B页面编辑成功后调用上一个页面方法

案例截图

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三线码工

码字不易,有钱打赏,没打钱点赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值