Vue routers

Vue & window.history

router.go(n) :
该方法的参数 n 为一个整数,意思是在 history 记录中向前或者向后退多少步。这里来打印一下 window对象:

这里打印 window
作为 js顶级DOM对象的 window 里有一个属性,叫做
history,该属性的原型上拥有一个 go 方法:
go方法
现在关于 vue.routers 的应用,或许大家能够想到他的实现自然是离不开 history属性的,有些时候能慢慢理解一些这种东西,大概也是一种乐趣。

router.push(location) :
想要导航到不同的 url,
那么可以使用 router.push 的方法,这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器的后退按钮时,是会回到之前的 url的,对栈区有过了解的同学应该知道这个道理。

router.replace(location) :
和 router.push 很像,唯一不同的就是,它不会向 history 添加新纪录,而是和他的方法名一样,替换掉当前的 history 记录。

router.push(location) : 和 router.replace(location)的区别:

童鞋们可以考虑把 路由 router 想象成一个访问记录的栈。一般情况下,要做前进后退的浏览器记录管理的,基本都是使用 router.push( ), 但是,也有一些特殊情况需要用到 router.replace( ).
举个例子:
我们从业务逻辑上分析一下以下,
有一个授权页面,用户在按流程操作时,某一步需要授权,首先跳到授权页,授权页提交授权请求,成功授权后,跳入流程中的下一步操作地址。此时使用 replace再合适不过,从而防止用户跳到下一步流程后由于点击了后退按钮退到授权页,从而导致反复授权,提交请求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值