Vue router.beforeEach中的next({path: '/login'}) 不跳转

想做一个路由拦截:

  1. 在 Vuex 中有用户的状态,其中一个属性是: user

  2. 当 user 为空时说明未登录,跳转到登录页面

  3. 当 user 不为空时,说明已经登录,直接路由到下一个页面

代码是这样的:

  • router/index.js 文件

import Vue from 'vue'

import Router from 'vue-router'

Vue.use(Router)

export default new Router ({

    mode: 'history',

    routes: [...],

    scrollBehavior: (to, from, savedPosition) => {

        return savedPosition || {x: 0, y: 0}

    }

})

  • main.js 文件

https://img.mukewang.com/5c3b2f390001ded404670499.jpg

问题就是:

  1. 该如何解决?

  2. 什么原因造成的?


慕少森
浏览 2954回答 1
1回答

扬帆大鱼

if (store.state.user.user !== null || to.path === '/login') {    next()}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript