onPageShow中编写了异步方法获取持久化缓存信息,子组件的aboutToAppear是否在onPageShow异步方法执行完后执行?用
户在首页点击区划站点,跳转区划页面,选择区划后,持久化缓存,跳转回首页。
因区划可能变化,需要重新加载数据,目前在onPageShow中调用preferences.getPreferences异步获取缓存的区划信息后给@Provide regionCache 赋值。子组件aboutToAppear中通过@Consume拿到区划值。
onPageShow中编写了异步方法获取持久化缓存信息,子组件的aboutToAppear是否在onPageShow异步方法执行完后执行?用
户在首页点击区划站点,跳转区划页面,选择区划后,持久化缓存,跳转回首页。
因区划可能变化,需要重新加载数据,目前在onPageShow中调用preferences.getPreferences异步获取缓存的区划信息后给@Provide regionCache 赋值。子组件aboutToAppear中通过@Consume拿到区划值。
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读
1 回答1.1k 阅读
1 回答1.1k 阅读
1 回答1.1k 阅读
1 回答968 阅读
1 回答939 阅读
1、正常的业务场景中,优先执行aboutToAppear,但是当aboutToAppear中存在异步方法时,此时会先去执行onpageshow中的逻辑,在回头执行aboutToAppear中的异步方法,所以一般来说是拿不到数据的。
2、上述场景中,从区划页面拿到数据后返回首页,返回首页使用的是什么跳转方法,如果是router.back(),则不会再次触发aboutToAppear,仅有onpageshow会执行。
3、通过preferences.getPreferences的方式获取重新数据时,可以在首页使用@Watch监听 regionCache 变量的变化,regionCache变化时触发监听事件,监听事件中可以写一些UI刷新和业务逻辑。
@Watch装饰器存在一些限制条件,使用时请详细阅读@Watch的使用方法和限制条件:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-watch-V5