我有一个导航栏,可以打印出用户的姓名和姓氏。这两个变量均取自组件init上的本地存储。 我有一个模态,在模态中,我可以更改已登录用户的名称和姓氏,然后将它们再次放入本地存储中。如果成功更改它们,我想用新名称和姓氏更新导航栏。
模态和导航栏是两个不同的组件。
我该如何实现?
解决方案1:我正在考虑在成功执行新数据(名称和姓氏)过帐后手动修改变量。 我可以从模态中修改另一个组件(导航栏)的变量吗?
解决方案2:调用location.reload强制使用本地存储中的新数据自动更新所有视图。
解决方案3:使用商店
谢谢
答案 0 :(得分:0)
创建用于获取/设置本地存储的包装服务,该服务也会在设置时发出。导航栏已订阅this.storageService.setItem('foo', 'bar')
时,模态调用,例如this.storageService.changes$
。
虽然有一些事件写入到存储中时发出了一个事件,但该事件仅在同一域的其他窗口中发出。