VUE登录路由判断

                                                      VUE登录路由判断

 我们在做无论是网站,还是电商的时候,登录是我们必不可少的一个功能,当我们从登录界面进行登录操作的时候,如果登录成功,我们希望进入到主界面。如果我们是在其他界面进行登录,则我们希望我们登录之后是返回到那个其他界面,这样用户也感觉到更友好。

然而历史页面跳转到登录页面的情况一般是三种:

1、从注册页面到登录界面

2、从忘记密码页面到登录页面

3、其他页面

1和2是特殊页面,单独进行判断。3属于常规页面,直接返回历史页面就行了。实现思路就是在路由里面带一个参数,然后进行判断就可以了。vue路由提供返回历史界面的方法是this.$router.go(-1)。

实现代码逻辑:

1和2一致,我就举例注册页面:注册页面的路由传参数写法:传入toHome参数

_self.$router.push({
  path: '/login',
  query: {
    toHome: 2
  }
})

登录页面写法:登录接口登录成功js里面写入

            // 登陆成功,设置cookie
            if (this.$route.query.toHome || window.history.length === 0) {
              _self.$router.replace('/')
            } else {
              _self.$router.go(-1)
            }

这样就可以实现了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中,可以使用路由守卫来判断用户是否已登录。根据引用\[1\]中的代码,当用户想直接访问首页时,可以使用路由守卫判断sessionStorage中是否存在用户对象。如果不存在用户对象,则将用户重定向到登录页面。如果存在用户对象,则允许用户访问首页。 具体实现步骤如下: 1. 首先,在路由配置文件中引入Vue和Router,并使用Vue.use(Router)来注册Router插件。 2. 创建一个Router实例,并配置路由表,包括登录页面和首页的路由。 3. 在路由实例上使用beforeEach方法来添加全局前置守卫。在守卫函数中,判断用户要访问的路径是否为登录页面。如果是登录页面,则清除sessionStorage中的用户对象。如果不是登录页面,则判断sessionStorage中是否存在用户对象。如果不存在,则将用户重定向到登录页面。如果存在,则允许用户继续访问。 4. 最后,将路由实例导出供其他组件使用。 根据引用\[2\]中的代码,Demo组件中的注销按钮点击事件中使用了this.$router.push({ path: '/login' })来实现路由跳转到登录页面。 综上所述,以上代码实现了Vue路由守卫判断登录的功能。 #### 引用[.reference_title] - *1* *2* [vue 利用路由守卫判断是否登录](https://blog.csdn.net/sugang666/article/details/85014604)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值