我想将经过身份验证的用户保存到localstorage并在下一页加载时将它们加载到vuex中:
created () {
let user = window.localStorage.getItem('user')
if(user) {
this.setUser(JSON.parse(user))
}
}
我认为我的根组件中创建的钩子是正确的位置。不幸的是,我得到'窗口未定义'。
当我把它放在挂钩中时它起作用。不幸的是,这是迟到的,并显示登录页面几毫秒。
我应该把这个逻辑放在哪里?
答案 0 :(得分:1)
我会首先尝试删除窗口,因为您不需要编写它
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content">
<h2>Blessing upon the Bearers of the Throne</h2>
<button id="btn">Click</button>
<p style="text-align:center"> </p>
<p style="text-align:center">
<span style="font-size11pt">
<span style="font-family:Calibri,sans-serif">O God, as for the Bearers of Thy Throne, who never flag in glorifying Thee, </span>
</span>
</p>
<p style="text-align:center">
<span style="font-size11pt">
<span style="font-family:Calibri,sans-serif">
<span dir="rtl" lang="AR-SA" style="font-family"Arial","sans-serif"">111111111111111111111111111َ </span>
</span>
</span>
</p>
</div>
如果这还不够,只需使用此vuex插件https://github.com/robinvdvleuten/vuex-persistedstate,它就可以完全按照零配置执行操作。如果只想保留一个值,可以在插件配置中将其设置为路径。