【发布时间】:2019-10-31 00:15:37
【问题描述】:
我的 vue router.js 文件中有这条路线。
routes: [{
path: "/",
component: Home,
beforeEnter: (to, from, next) => {
if (!store.state.is_login) {
next('/login')
}
next()
}
}]
如果 store.state.is_login === true
,我使用 beforeEnter 选项重定向用户第一个问题: 因此,当我在浏览器中输入 url 时,我将重定向到 /login 页面。这很好用。但是当我单击徽标按钮时,此 beforeEnter 功能不起作用。 这是我使用的按钮:
<router-link to="/" class="bp-logo"><Logo />home</router-link>
第二个问题是:
- is_login 在我的 store.state.is_login 中
- 我将令牌存储在 localStorage 中
- user_info 在 store.state.user 中
问题:
条件 1:如果 !is_login 重定向到 /login 。
条件 2:如果令牌存在并且 !is_login => 请求使用令牌后端 /user 并获取 user_info 并将 is_login 设置为 true。
条件 3:如果 !is_login && !token 重定向到 /login
【问题讨论】:
标签: vue.js vue-router