vue页面跳转拦截器 打开新页面
2018-08-02 16:26
776 查看
登录拦截逻辑
第一步:路由拦截
首先在定义路由的时候就需要多添加一个自定义字段
requireAuth,用于判断该路由的访问是否需要登录。如果用户已经登录,则顺利进入路由,
否则就进入登录页面。在路由管理页面添加meta字段
[code]import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const routes = [ { path: '/', name: "欢迎", meta: { requireAuth: true, // 添加该字段,表示进入这个路由是需要登录的 }, component: resolve => require(["../components/Hello.vue"], resolve) }, { path: '/login', name: "登录", /*meta: { requireAuth: false, // 添加该字段,表示进入这个路由是需要登录的 },*/ component: resolve => require(["../view/login/login.vue"], resolve) } ] export default new Router({ base: "/", routes })
-
定义完路由后,我们主要是利用
vue-router
提供的钩子函数beforeEach()
对路由进行判断。。所以在main.js加上[code] router.beforeEach((to, from, next) => { if (to.meta.requireAuth) { // 判断该路由是否需要登录权限 if (store.state.token) { // 通过vuex state获取当前的token是否存在 next(); } else { next({ path: '/login', query: {redirect: to.fullPath} // 将跳转的路由path作为参数,登录成功后跳转到该路由 }) } } else { next(); } })
相关文章推荐
- vue页面跳转拦截器
- vue中页面跳转拦截器的实现方法
- 几种链接总结:跳转,打开新页面,刷新当前页,不做任何操作
- Javascript跳转页面和打开新窗口等方法
- 三种简单的html网页自动跳转方法,可以让你在打开一个html网页时自动跳转到其它的页面
- 拦截器springmvc防止表单重复提交【3】3秒后自动跳回首页【重点明白如何跳转到各自需要的页面没有实现 但是有思路】
- 在app点击某个按钮跳转到浏览器打开某个页面
- JQM1.4 脚本执行页面跳转动画,dialog打开动画
- 【JS】点击页面判断是否安装app并打开,否则跳转下载的方法
- vue-router登录校验后跳转到之前指定页面如何实现
- Vue-router路由判断页面未登录跳转到登录页面
- vue项目打包后打开页面空白解决办法
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- js页面跳转 和 js打开新窗口 方法
- iOS 控制器跳转时打开关闭页面动画
- 基于vue循环列表时点击跳转页面的方法
- vue2.0 页面在华为自带浏览器里无法打开。
- Vue实现前台页面组件化路由跳转
- vue单页应用中,使用setInterval()定时向服务器获取数据,后来跳转页面后,发现还在不停的获取数据。
- jira 6.1.3打开上传屏幕截屏界面后跳转到oracle页面