我现在遇到一个问题,如下:
情况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事件只有在打开新页面才会执行。这个问题绝对不止我一个人遇到
因为所有页面的js都是在一个线程跑的,你可以在b页面操作完之后,在全局globalData记录个状态,回到A页面的时候,onshow拿到这个状态即可
@bear@大苹果 用getCurrentPages()方法,可以操作所有没有关闭的页面,就是在页面栈里的页面。
我也有同样需求,就是从列表页A,进内页B去点赞,再返回列表页A后的该条点赞数量不刷新。
按说也不应该去刷新,毕竟是navigateBack的。 解决方法就是通过setStorage咯~
我也和楼主一样,现在有好的解决方法吗?
已学习,多谢 /抱拳
@raphealguo ,我还是建议navigateBack 加一个可选参数来设置返回的页面是否需要重新加载
@update ,用getCurrentPages()方法
和楼主情况一样
你们上面的2中方法可行,为什么要搞这么复杂、、
在B页面操作完后用getCurrentPages(),找到A页面,调用A里准备好的刷新方法