当前位置:首页 > 技术分析 > 正文内容

Vue Router 4 路由操作 - 路由导航

ruisui884个月前 (01-12)技术分析29

路由导航分为 声明式导航编程式导航

通过 <router-link to="..."> 标签跳转的方式为声明式导航

通过 路由实例对象(router.push(...))跳转的为编程式导航

导航到不同的位置

想要导航到不同的URL,使用 router.push 方法。该方法会向 浏览器的历史记录栈 新增一条记录。当点击浏览器的回退按钮时,会退回到之前的URL。

在声明式导航中,我们使用<router-link>标签进项跳转,类似于HTML中的a标签。需要注意的是,当点击<router-link>标签时,内部调用的依然是router.push方法进行跳转。

不管是<router-link>标签的 to 属性,还是router实例对象的 push 方法,都有相同的以下三种类型的值:

path路由地址字符串

// 声明式
<router-link to="/home"></router-link>

// 编程式
router.push('/home')

包含path的路由地址对象

// 声明式
<router-link :to="{ path: '/home' }"></router-link>

// 编程式
router.push({ path: '/home' })

包含name的路由地址对象

// 声明式
<router-link :to="{ name: 'Home' }"></router-link>

// 编程式
router.push({ name: 'Home' })

替换当前位置

router.push 有所不同的是,虽然都是导航到浏览器的某个历史记录,但 router.replace 会替换当前浏览器历史记录栈中的对应的记录,而 router.push 是新增。

// router.replace与router.push使用方式类似
// 声明式
<router-link :to="{ name: 'Home' }" replace></router-link>

// 编程式
router.replace({ name: 'Home' })

在历史记录中随意跳转

使用router.go可以在浏览器的历史记录栈中随意切换,不会新增历史记录,也不会替换当前历史记录。

// 此方式只适用于编程式导航
// n 为浏览器历史记录栈长度范围内的数字
router.go(n)

router.go(1) // 前进
router.go(-1) // 后退

router.go(2) // 前进两条记录

router.go(100) // 如果历史记录没有那么多条数,则静默失败

返回之前的历史记录

使用router.back返回跳转之前的历史记录,相当于 router.go(-1)需要注意的是,在使用 router.replace 跳转方式时,router.back 不能返回到之前的历史记录,因为已经被替换掉了。

// 此方式只适用于编程式导航
router.back()

在历史记录中前进

使用 router.forward 在历史记录中前进,相当于 router.go(1)

// 此方式只适用于编程式导航
router.forward()

一些额外的扩展知识

Vue Router模仿了 Browser History APIs,如果有这方面的使用经验,则使用Vue Router会非常熟悉,如果有条件的可以去自己学习一下。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/220.html

标签: vue路由传值
分享给朋友:

“Vue Router 4 路由操作 - 路由导航” 的相关文章

Linux 最主要的发行分支

Linux 有数百个发行分支。主要的有以下四个。slackwareSlackware 是由 Patrick Volkerding 在 1992 年推出的,它是全球现存最古老的 Linux 发行版。Slackware 被设计为高度可定制和强大的,并且要求用户了解 每个元素,它的包系统是不支持依赖的。...

掌握版本控制:Git的那些常见用法与技巧

Git作为现代开发中最常用的版本控制系统,它的普及和高效性使得程序员几乎每天都在与它打交道。无论是个人项目,还是团队协作,Git都能帮助我们追踪代码的修改历史,保证代码版本的管理井井有条,并在多人协作时有效地避免冲突。本文将分享一些常见的Git用法与技巧,帮助你更好地掌握Git的强大功能,并提升你在...

祸害阿里云宕机3小时的IO HANG究竟是什么?

本文来自微信公号“CSDN”(ID:CSDNnews),作者 | 王知无, 责编| 郭 芮。2019年3月3日凌晨,微博炸锅,有网友反映说阿里云疑似出现宕机,华北很多互联网公司受到暴击伤害,APP、网站全部瘫痪,我自己的朋友圈和微信群里也有好友反馈,刚刚从被窝被叫起来去修Bug,结果发现服务器登不上...

身体越柔软越好?刻苦拉伸可能反而不健康 | 果断练

坐下伸直膝盖,双手用力向前伸,再用力……比昨天前进了一厘米,又进步了! 这么努力地拉伸,每个人都有自己的目标,也许是身体健康、线条柔美、放松肌肉、体测满分,也可能为了随时劈个叉,享受一片惊呼。 不过,身体柔软,可以享受到灵活的福利,也可能付出不稳定的代价,并不是越刻苦拉伸越好。太硬或者太软,都不安全...

HTML5+眼球追踪?黑科技颠覆传统手机体验

今天,iH5工具推出一个新的神秘功能——眼动追踪,可以通过摄像头捕捉观众眼球活动!为了给大家具体演示该功能的使用,我做了一个案例,供大家参考。实际效果如下:案例比较简单,就是通过眼动功能获取视觉焦点位置,剔除用户看中的牌。现在,舞台的属性中多了一个“启用眼动”的选项,另外,还多了一个“启用摄像头”的...

双子座应用程序推出模型切换器以在Android上访问2.0

#头条精品计划# 快速导读谷歌推出了Gemini 2.0 Flash实验版,现已在其安卓应用中可用,之前仅在gemini.google.com网站上提供。新版本的15.50包含模型切换器,用户可以在设置中选择不同模型,包括1.5 Pro、1.5 Flash和2.0 Flash实验版。谷歌提醒,2.0...