小程序是否缺少一个跳转的方法
发布于 6 年前 作者 aqian 11666 次浏览 来自 问答

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


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




结论:小程序是否缺少一个返回上级页面并刷新的方法?   不要告诉我在onshow里面做刷新,如果在onshow里面做刷新第一种情况怎么办。也不要说返回参数给A页面,只有onload页面才能接收到参数。onload事件只有在打开新页面才会执行。这个问题绝对不止我一个人遇到

10 回复

和楼主情况一样

@bear@大苹果 getCurrentPages()方法,可以操作所有没有关闭的页面,就是在页面栈里的页面。

已学习,多谢  /抱拳

你们上面的2中方法可行,为什么要搞这么复杂、、

我也和楼主一样,现在有好的解决方法吗?

我也有同样需求,就是从列表页A,进内页B去点赞,再返回列表页A后的该条点赞数量不刷新。

按说也不应该去刷新,毕竟是navigateBack的。 解决方法就是通过setStorage咯~

因为所有页面的js都是在一个线程跑的,你可以在b页面操作完之后,在全局globalData记录个状态,回到A页面的时候,onshow拿到这个状态即可

@update ,用getCurrentPages()方法

@raphealguo

 ,我还是建议

navigateBack

加一个可选参数来设置返回的页面是否需要重新加载

在B页面操作完后getCurrentPages(),找到A页面,调用A里准备好的刷新方法

回到顶部