HarmonyOS 鸿蒙Next 嵌套路由问题,咋保存其他页面状态

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 嵌套路由问题,咋保存其他页面状态

在多层嵌套路由中,我返回上一层,但我不想改变其他页面的状态,每次回去好像就重新加载了,如何做到?缓存?求助

2 回复
在router中可以设置routerMode。 参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-router-V5#routermode9 在navigation中暂时没有keepalive配置。

在HarmonyOS 鸿蒙Next中处理嵌套路由问题并保存其他页面状态,可以利用提供的全局和局部状态存储机制。具体方法如下:

  1. AppStorage:作为应用全局的UI状态存储,适用于在多个页面或组件间共享状态变量,如用户登录状态、购物车信息等。通过@StorageProp@StorageLink装饰器,可以实现状态变量的全局存储与同步。
  2. LocalStorage:作为页面级的UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例,支持UIAbility实例内多个页面间状态共享。
  3. PersistentStorage:用于持久化存储选定的AppStorage属性,确保这些属性在应用程序重启时保持相同的值,但需注意持久化变量建议小于2KB。

在处理嵌套路由时,可以根据具体需求选择合适的状态存储方式。例如,对于需要在整个应用中共享的状态,可以使用AppStorage;对于仅在某个页面内或页面间共享的状态,可以使用LocalStorage。

HarmonyOS鸿蒙Next课程学学https://www.itying.com/goods-1204.html

回到顶部