作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 vueJS 创建一个简单的应用程序,但我在 react 性方面遇到了一些问题。
当用户连接到应用程序时,他会获得 JWT,我将此 JWT 存储在本地存储中。为了验证用户是否已登录,我只需检查 token 是否存在。
首先,这是一个好方法吗?
现在我正在尝试更新导航栏,当用户未登录时,我有 2 个按钮“注册”“登录”,当他登录时,我希望显示“断开连接”按钮,而另外两个按钮消失.
我的导航栏组件内部带有“v-if”,用于显示或不显示按钮。
目前我在 data() 中设置了一个 bool 值“isLogged”,如何让 vueJS 监视该数据并在该数据更新时更新我的组件?
<div class="navbar-item" v-if="!isLogged">
<div class="buttons">
<a @click="$router.push('/login')" class="button nav-button is-outlined">
CONNEXION
</a>
<a @click="$router.push('/register')" class="button nav-button is-outlined">
INSCRIPTION
</a>
</div>
</div>
<a @click="disconnect" class="navbar-item" v-if="isLogged">
Déconnexion
</a>
data() {
return {
isLogged: this.$jwt.hasToken()
}
}
我希望更新导航栏而无需刷新组件。
最佳答案
使用计算值代替数据。
computed: {
isLogged() {
return this.$jwt.hasToken()
}
}
关于javascript - 如何用数据更新v-if?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55598559/
我是一名优秀的程序员,十分优秀!