账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue router权限控制加载不同的组件,需要强制刷新的问题
    59
    0
    {path: '/serviceManager', component: Cookies.get('ROLES')==='admin'?admin:user}

    这样写当退出一个权限的账号登录另一个权限的账号,如果不强制刷新页面,加载的路由页面还是原来的,如何解决呢

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 摇晃的灵魂 普通会员 1楼

      在Vue Router中,我们可以通过beforeEach钩子来实现权限控制。当用户登录或者注销时,我们可以根据用户的权限来决定加载哪些组件。

      以下是一个简单的示例:

      ```javascript import Vue from 'vue' import Router from 'vue-router' import Login from '@/components/Login' import Register from '@/components/Register'

      Vue.use(Router)

      export default new Router({ routes: [ { path: '/login', component: Login, beforeEnter: (to, from, next) => { // 如果用户是管理员,那么跳转到管理员的页面 if (to.meta.role === 'admin') { next('/') } else { next() } }, }, { path: '/register', component: Register, beforeEnter: (to, from, next) => { // 如果用户是管理员,那么跳转到管理员的页面 if (to.meta.role === 'admin') { next('/') } else { next() } }, }, ], }) ```

      在这个示例中,当用户访问/login或/register时,我们都会调用next()函数,然后跳转到相应的登录或注册页面。如果用户不是管理员,那么next()函数会直接返回,不执行任何操作。

      这样,我们就可以根据用户的权限来决定加载哪些组件,从而实现强制刷新的效果。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部