我在聊天中发帖(两次),没有人回答,所以我希望我能在这里得到一些帮助。
我有一个 mixin isLoggedIn() 如果项目存在于 localStorage 则返回 true,否则返回 false。
我的问题是,当我从 localStorage 更新或删除项目时,如何重新评估状态,因为我只有在 isLoggedIn 为真时才显示一些元素?
使用 v-show="isLoggedIn()" 是否正确,或者您会提出其他建议,我不知道最佳实践是什么?
多谢你们。
这里的问题是 localStorage不是响应式的,因此您需要一些响应式来触发更改。 基本上,您使用一个对象来表示登录状态,并且当您登录/注销时,您将一起修改 localStorage 和该对象(并通过在应用程序加载时从 localStorage 读取来初始化该对象)。
见http://vuejs.org/guide/application.html#State_Management
和https://auth0.com/blog/2015/11/13/build-an-app-with-vuejs/这正是你想要做的。
@yyx990803谢谢,这篇文章正是我想要做的。
在应用程序初始化时检查本地存储以查看用户是否已经从以前的会话登录的最佳位置在哪里? 在引用的教程中,在初始化 Vue 之前,它们在启动文件 / main.js
中只有一行。 我做过类似的事情。 这是推荐的吗?
最有用的评论
这里的问题是 localStorage不是响应式的,因此您需要一些响应式来触发更改。 基本上,您使用一个对象来表示登录状态,并且当您登录/注销时,您将一起修改 localStorage 和该对象(并通过在应用程序加载时从 localStorage 读取来初始化该对象)。
见http://vuejs.org/guide/application.html#State_Management
和https://auth0.com/blog/2015/11/13/build-an-app-with-vuejs/这正是你想要做的。