小程序缺少一个跳转页面的方法
发布于 6 年前 作者 jie71 15777 次浏览 来自 问答

我现在遇到一个问题,如下:

情况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页面




结论:小程序是否缺少一个返回上级页面并刷新的方法?






5 回复

navigateBack会导致出栈,就导致始终有页面需要重新加载,

在onShow 做这样的逻辑就必须所有的操作都做,我如果在B页面不操作返回A页面,我不想要他刷新

如果在onShow 里面做刷新,请告诉我第一种情况怎么实现?

“刷新”的概念其实就是一些数据的更新,可以在 A 页面的 onShow 事件中去做这个逻辑。

可以试试这样,跳转到B 的时候指定一些回调(实质是A 页面的方法)给B,然后B 进行了操作后调用这个回调再返回。刷新操作在回调中指定,A 页面不需要重新加载。

例如:订单列表A跳转订单详情B,然后在订单详情删除订单再回退,可以在A 定义一个删除订单的方法,然后在B 删除页面后调用这个A 页面的方法(路由栈可以拿到A 页面的page 对象),这样回退的时候就可以刷新了。

回到顶部