我现在遇到一个问题,如下:
情况1: A页面------navigateTo跳转-------B页面(无操作)-----navigateBack返回------A页面【我不需要刷新】
情况2: A页面------navigateTo跳转-------B页面( 操作 )-----navigateBack返回------A页面 【我需要刷新】
说下我的解决思路,可能也是你们想到的,但是全都无效。
使用navigateBack
A页面------navigateTo跳转-------B页面(无操作)-----navigateBack返回------A页面
A页面------navigateTo跳转-------B页面( 操作 )-----redirectTo返回------A页面
这种方式的问题是使用navigateBack后会存在2个A页面
结论:小程序是否缺少一个返回上级页面并刷新的方法?
网友回复:
“刷新”的概念其实就是一些数据的更新,可以在 A 页面的 onShow 事件中去做这个逻辑。
可以试试这样,跳转到B 的时候指定一些回调(实质是A 页面的方法)给B,然后B 进行了操作后调用这个回调再返回。刷新操作在回调中指定,A 页面不需要重新加载。
例如:订单列表A跳转订单详情B,然后在订单详情删除订单再回退,可以在A 定义一个删除订单的方法,然后在B 删除页面后调用这个A 页面的方法(路由栈可以拿到A 页面的page 对象),这样回退的时候就可以刷新了。
在onShow 做这样的逻辑就必须所有的操作都做,我如果在B页面不操作返回A页面,我不想要他刷新
如果在onShow 里面做刷新,请告诉我第一种情况怎么实现?