【关键字】
tab / onPageShow / 无法触发
【问题描述】
APP主页是一个tab,其中一个tab的内容是自定义的页面A,但是tab中加载的页面A无法触发onPageShow事件。已经排除了@entry等问题,页面A在非tab内加载时是可以触发onPageshow的。
具体页面操作流程为:tab -> 其中一个内容页A -> A页面跳转到B页面 -> B页面参数回传给A页面
但现在A页面的onPageShow事件无法触发,不能在onPageShow中通过router.getParams获取B页面回传的参数,请问是否有解决方案?
【解决方案】
按照描述当前onPageShow事件是不生效的,onPageShow是页面级的生命周期。
有两个解决方案:
-
方案一:tabs切换触发的应该是子组件组件级的生命周期aboutToAppear,如果只需要一次传数据可以使用aboutToAppear。
-
方案二:使用应用级变量状态管理AppStorage来同步数据。