
vue(10):路由补充
发布日期:2021-05-07 08:58:28
浏览次数:43
分类:精选文章
本文共 1679 字,大约阅读时间需要 5 分钟。
路由props传参(了解)
布尔模式
实例:登录 注册
如果 props 被设置为 true,route.params 将会被设置为组件属性。这样可以更加灵活的使用路由参时,但是这只适用于params传参方式
其它用法
编程式导航
- 声明式导航:通过点击链接实现导航方式,叫做声明式导航 例如:普通网页中的<a></a>链接或vue中的<router-link></router-link>
- 编程式导航:通过调用JavaScript形式的API实现导航的方式,叫做编程式导航 例如:普通网页中的
location.href
这里这介绍一下vue中的编程式导航
常用API:
this.$router.push('hash地址')
功能:用来实现页面的跳转this.$router.go(n)
功能:实现页面的前进和后退,例如-1表示后退一页
实例: 跳转与后退
用户 注册
push的其它用法
// 字符串router.push('home')// 对象router.push({ path: 'home' })// 命名的路由router.push({ name: 'user', params: { userId: '123' }})// 带查询参数,变成 /register?plan=privaterouter.push({ path: 'register', query: { plan: 'private' }})注意:如果提供了 path,params 会被忽略,上述例子中的 query 并不属于这种情况。取而代之的是下面例子的做法,你需要提供路由的 name 或手写完整的带有参数的 path:
const userId = '123'router.push({ name: 'user', params: { userId }}) // -> /user/123router.push({ path: `/user/${ userId}` }) // -> /user/123// 这里的 params 不生效router.push({ path: '/user', params: { userId }}) // -> /user
路由导航守卫
作用
当我们路由切换到一个组件里面,如果没有权限,不让进入,有权限可以进入官方教程:
我这里用到的是全局前置守卫beforEach,就简单了解了一下
守卫方法接收三个参数:- to:即将要进入的目标路由对象
- from:当前导航正要离开的路由
- next:执行下一步
next()表示放行,next(地址)表示强制跳转
实例: 如果用户没有登录不能访问特定页面,跳转到登录界面
var router= new Router({ routes: [ { path:'/',redirect:'/login'}, { path:'/login',component:login}, { path:'/home',component:Home} ]})//设置路由导航router.beforeEach((to,from,next)=>{ //如果访问登录页面直接放行 if(to.path==='/login') return next() //从sessionStorage获取qqusername判断是否以登录,如果没有登录跳转到登录页 var qname=window.sessionStorage.getItem('qqusername') if(!qname) { return next('/login') } //已经登录直接方向 return next()})export default router
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月10日 11时33分53秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
怎么解决Windows 10文件/文件夹正在使用无法删除
2021-05-14
matlab函数:fix 向0取整
2021-05-14
Allegro中如何消除器件本身Pin间距报错
2021-05-14
linux--练习001-基础类型
2021-05-14
Flask--简介
2021-05-14
16 python基础-恺撒密码
2021-05-14
06.1 python基础--结构控制
2021-05-14
Frame--Api框架
2021-05-14
idea 在Debug 模式中运行语句中函数的方法
2021-05-14
Boostrap技能点整理之【网格系统】
2021-05-14
新闻发布项目——业务逻辑层(UserService)
2021-05-14
hibernate正向生成数据库表以及配置——hibernate.cfg.xml
2021-05-14
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
2021-05-14
java实现人脸识别源码【含测试效果图】——Dao层(IUserDao)
2021-05-14
使用ueditor实现多图片上传案例——前台数据层(Index.jsp)
2021-05-14
ssm(Spring+Spring mvc+mybatis)——saveDept.jsp
2021-05-14