
回复
@State、@Prop、@Link等装饰器的作用范围是组件之间。也就是他们只能在同一个@Entry修饰下的页面组件中的组件以及子组件进行数据的共享。当涉及到多个页面时,需要使用页面级的状态管理装饰器。
LocalStorage是页面级的UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage支持UIAbility实例内多个页面间状态共享。
LocalStorage使用场景和相关的装饰器:@LocalStorageProp@LocalStorageLink。
具体操作步骤看代码:
一、如果希望LocalStorage在多个@Entry页面组件中共享,可以在所属UIAbility中创建LocalStorage实例,并调用windowStage.loadContent。
例如我们想将用户信息在各个页面进行共享。
二、在页面组件中更新数据源并同步到LocalStorage
三、在其他页面中获取LocalStorage数据源