【发布时间】:2020-06-22 22:39:17
【问题描述】:
简化用例
我有一个名为 data_store 的单页网络应用。这个应用程序有 2 个简单的任务列表
- 列出用户
- 显示用户详细信息(点击用户时)。
现在,我有 2 个路线
- data_store/all_user
- data_store/user_detail
*为简单起见,所有其他因素都可以忽略。
问题:当我在
data_store/user_detail重新加载标签时,我失去了详细信息的用户的唯一 ID显示出来。
问题:如何在标签重新加载时保留唯一 ID?并使其在重复的选项卡中无缝工作?
失败的解决方案
1st,使用data_store/user_detail/<UUID> 格式,但出于安全原因,我不能在我的 URL 中公开它。
第二,使用local_storage 来存储当前的UUID,但随后重新加载具有不同用户详细信息的其他选项卡会中断。
原因:因为它们也通过任何其他选项卡获取了最后一个设置值。
第三,使用session_storage,但问题是在复制标签而不是打开新标签时。用于复制选项卡的 chrome 使用 window.open 并生成一个子选项卡,该选项卡共享其父选项卡的所有信息,包括 sessionStorage。
【问题讨论】:
标签: javascript angular web