微信小程序 navigate页面跳转问题解决方案

最近在跟着别人做外包小程序,在跳转的时候遇到很大的问题 ,由于微信小程序的navigateBack是不会刷新原来页面的,所以当我要做到如下逻辑时,感到十分困惑,同时觉得无法控制后退按钮指向页面这一设定十分不科学

先来看看问题所在,例如我要实现如下页面逻辑
问题
星号表示添加了数据的地址管理页

要做到能回退(回退的意思是指点击左上方按钮回到上一页面),我们不能用redirectTo去实现跳转,因为这个函数会把当前页面pop出页面栈,导致我们不能回退到正确的页面,而又不能在第三到第四阶段使用navigateTo或者redirectTo,因为这样的话回退不能直接回退到index,而是只会不断回退,再加上微信最多只能有5个页面,所以不能频繁使用navigateTo(保留当前页面跳转新页面),所以综合各种考虑,最后逻辑如图:

这里写图片描述

那么问题来了,微信的navigateBack函数不但不刷新数据,而且也没有success回调函数提供,这里不得不自行调用页面刷新,例如:

//更新旧页面
var pages = getCurrentPages();
var prePage = pages[pages.length - 2];
prePage.getLocInfo();

wx.navigateBack ({
	url: '../locMan/locManView',
})

但在实际应用中可能就是存在另外一个问题,就是该段处理中,页面栈到底保留的是什么页面,一定要确保数据异步存储后再跳转页面,不然如果异步还没结束,页面就已经转移了的话 ,该解决方案会失败。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值