如果我不重新加载页面,Angular应用上的LocalStorage将返回旧值

时间:2019-05-06 10:17:40

标签: angular typescript local-storage

我正在制作Angular应用程序。登录时,我从服务器获取了一个用户ID,需要将其存储在localStorage中。

这是执行此操作的代码:

localStorage.setItem('user', userId)  // where "userId" is a string

我正在Chrome上对其进行测试,登录时会显示密钥user,其值为用户ID。看来可行,但是当我需要使用该ID并通过

获得它时
localStorage.getItem('user')

我得到null

如果我手动重新加载页面,我将获得正确的值。

还没有完成,如果我注销并用另一个用户登录,如果我想获取用户ID,我将获取登录的旧用户的ID。要获得正确的新版本,我需要再次手动重新加载页面。

我尝试同时使用localStoragewindow.localStorage,但结果没有改变。

1 个答案:

答案 0 :(得分:0)

注销后,您必须删除存储值

localStorage.removeItem('user');

或者,您也可以使用以下方法清除整个localStorage

localStorage.clear();