解决vue重定向问题
this.$router.push('/index')路由跳转import Vue from 'vue'import Router from 'vue-router'import store from '../vuex/store'Vue.use(Router)const router = new Router({routes: [{path...
this.$router.push('/index')路由跳转
import Vue from 'vue'
import Router from 'vue-router'
import store from '../vuex/store'
Vue.use(Router)
const router = new Router({
routes: [
{
path: '/',
name: 'login',
component: () => import('@/views/login/index'),
hidden: true
},
{
path: '/register',
name: 'register',
component: () => import('@/views/login/register')
},
{
path: '/index',
component: () => import('@/views/login/home'),
meta: {
requireAuth: true// 添加该字段,表示进入这个路由是需要登录的
}
}, {
path: '/home',
component: () => import('@/views/login/home')
}
]
})
// 使用 router.beforeEach 注册一个全局前置守卫,判断用户是否登陆
router.beforeEach((to, from, next) => {
console.log('to', to, store.state.globalToken, 'requireAuth', to.meta.requireAuth)
if (to.meta.requireAuth) { // 需要登录才能显示
if (!store.state.globalToken) { //没有获取用户token返回登录页
console.log('没有token')
next('/')
} else {
console.log('成功执行')
next({
path: '/home',
query: {redirect: to.fullPath} // 将跳转的路由path作为参数,登录成功后跳转到该路由
})
}
} else {
console.log('不需要授权也能显示')
next()
}
})
export default router
更多推荐
所有评论(0)