【发布时间】:2021-06-15 13:28:11
【问题描述】:
在 Vue 组件中,我有一些来自本地存储的数据。
if (localStorage.getItem("user") !== null) {
const obj_user = localStorage.getItem('user');
var user = JSON.parse(obj_user);
} else {
user = null;
}
return {
user
}
在这个组件之后,我必须检查这些数据。我是这样做的
<li v-if="!user"><a href="/login">Login</a></li>
<li v-if="user">
<a href="#"><span>{{user.name}}</span></a>
</li>
但是数据不会立即改变,而是在页面重新加载后才会改变。在我登录页面并将用户重定向到另一个页面后,我仍然看到登录链接。 我究竟做错了什么? 也许还有其他方法可以检查和输出组件中本地存储的数据? 提前谢谢你。
【问题讨论】:
-
顺便说一句,如果通过prop接收数据,相同的props:['user'] - 问题是一样的
-
您在组件的哪个位置设置这些变量?此外,您应该尝试更一致地使用
const和let而不是var。此外,您应该使用v-if="!user",然后在下一个li上执行v-else
标签: javascript vue.js frontend