Vue项目里 this.$router.push、replace、go的区别

本文详细介绍了Vue.js中三种主要的路由导航方法:$router.push用于添加历史记录并跳转;$router.replace则替换当前的历史记录;$router.go实现前进或后退指定的页面数。这些方法使开发者能够灵活地控制应用的导航流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、this.$router.push

描述:跳转到不同的url,但这个方法会向history添加一个记录,点击后会返回到上一个页面
相当于 <router-link :to="...">
用法

//字符串
this.$router.push('home')
//对象
this.$router.push({path:'home'})
//命名的路由
this.$router.push({name:'user',params:{userId:123}})
//带查询参数,变成/register?plan=private
this.$router.push({path:'register',query:{plan:'private'}})

2、this.$router.replace

描述:跳转到指定URL,替换history栈中最后一个记录,点击后退会返回至上上一个页面,上一个记录是不存在的.
(A----->B----->C 结果B被C替换 A----->C)

//声明式:
  <router-link :to="..." replace></router-link>
  // 编程式:
  router.replace(...)
  //push方法也可以传replace
  this.$router.push({path: '/home', replace: true})

3、this.$router.go

描述:相当于当前页面向前或向后跳转多少个页面,类似window.history.go(n)。n可为正数或者也可以为负数
用法

//在浏览器记录中前进一步,等同于history.forward()
this.$router.go(1)
//后退一步记录
this.$router.go(-1)
//前进三步记录
this.$router.go(3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值