在angularjs 1.5中,我使用本地存储来存储与会话相关的信息。 但是当我打开带有其他凭据的新标签时,初始信息会被删除并被新标记取代,有什么方法可以防止这种情况发生吗?
答案 0 :(得分:0)
是的,你正在做的是用新数据替换相同的密钥,这就是它被替换的原因。你应该做的是创造新的' Key'为每个会议。
实施例
//localStorage.setItem('key', 'value' )
//What you should do is for each login user create a new key
//sessionId can be any id you want for new session, this way you won't overwrite the previous session data
localStorage.setItem(sessionId, loginSessionData);
答案 1 :(得分:0)
由于您没有提供任何代码示例,因此很难分辨出发生了什么,但我想当应用程序启动时您将一些值设置为localstorage,因此每次打开新选项卡时都会再次设置它并覆盖以前的价值。
您需要做的就是检查localstorage中是否存在该值以及它是否无效:
if (!localStorage.getItem('myItem')){
localStorage.setItem('myItem', myValue));
}