vue实力采坑之url变化问题
来源:互联网 发布:mp259清零软件 编辑:程序博客网 时间:2024/04/30 02:23
实力采坑,学到就是自己的,fighting
vue.js : https://cn.vuejs.org/
vur-router: https://router.vuejs.org/zh-cn/index.html
vuex: https://vuex.vuejs.org/zh-cn/
axios https://www.kancloud.cn/yunye/axios/234845
项目中某一个模块(A模块)是需要登录才能查看的,但是并非一进入网站就需要去登录的,这样的网站大家应该见过很多(例如淘宝)。路由大家肯定都会选择vue-router,那么在做登录验证的时候,导航钩子router.beforeEach肯定会用到,官方文档说了多种情况(希望以后我都用的到吧)我这里使用的是最常见的全局钩子。
我在做这个功能的时候,第一件事就是百度,搜索到的结果大多是下面这样的
{
path:'/a',
component: A,
meta: { requiresAuth: true }
}
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requiresAuth)) {
// this route requires auth, check if logged in
// if not, redirect to login page.
if (!store.state.loginStatus) {
next({
path: '/login',
query: { redirect: to.fullPath }//把要跳转的地址作为参数传到下一步
})
} else {
next()
}
} else {
next() // 确保一定要调用 next()
}
})
点击A模块的时候,/#/home----> /#/login?redirect=%2Fa,完成登录操作后就跳转到A模块 /#/login?redirect=%2Fa--->/#/a,
难道这是vue-router的特性?当然不是,这个对用户体验不好。然后各种看资料,最后还是来到了官方文档,原来next有三种情况,
1不需要验证,直接通过 2验证,url不跳转 3验证,url半跳转 原来vue-router早就为我提供了解决方案,所以将
next({
path: '/login',
query: { redirect: to.fullPath }//把要跳转的地址作为参数传到下一步
})
换成next(false)就好了。点击A模块的时候 , 完成登录操作后,url没有改变 /#/home
爱生活 ,爱佳佳
- vue实力采坑之url变化问题
- Vue检测变化问题
- Vue之监听数据变化
- Vue中一些需要注意的点(采坑)
- Echarts采坑日记之tooltip
- React native 采坑之旅
- vue实力封装axios
- 关于VUE监听窗口变化事件问题
- vue实力踩坑 当前页push当前页 无效
- Vue 2.0 的变化(一)之基本 API 变化
- Vue 2.0 的变化(一)之基本 API 变化
- 采苹果问题
- 采購之二
- vue中遇到的坑 --- 变化检测问题(数组相关)
- 微信小程序采坑(1):富文本的一些问题
- weex采坑之旅(一)初识weex
- windows下安装react-native环境--采坑之旅
- webpack+react+node采坑之旅 (上)
- Django建教育平台(三)--创建各App及其model
- 二分快速幂
- hpuoj 【1005】机房的位置(一)【思维】
- C语言——实例016 最大公约数,最小公倍数
- 哈密顿绕行世界问题
- vue实力采坑之url变化问题
- mybatis总结
- Linux系列—iptables防火墙原理详解
- Professional JS(HTML5 Event/Device Event[part])
- hdu 1394(线段树)
- Kotlin提供的集合本地接口
- Spring Boot 集成常用开发库(一)概述
- API Hook总结之二
- 玲珑杯 1149