router.replace跟router.push的区别 您所在的位置:网站首页 place和replace的区别是什么 router.replace跟router.push的区别

router.replace跟router.push的区别

2024-07-10 12:37| 来源: 网络整理| 查看: 265

在学习案例过程中,遇到关于router.replace跟router.push的使用问题。

网上查询一番后,遇到一老哥的答案解释相对容易理解:

可以把路由router想象成一个访问记录的栈,router.replace() 是替换掉栈顶,而router.push() 则是向栈中再堆入一个新记录。

一般情况下,要做前进后退的浏览记录管理的,基本上都是用router.push(),但是也是有一些特殊情况需要用到router.replace()。

比如,有一个授权页,用户在按流程操作时,某一步需要授权,是直接跳到授权页,授权页提交授权请求,直到成功授权后,跳到流程中的下一步操作的地址。此处,授权请求的那页面应该用replace去替换掉自身的访问记录,防止用户跳到下一步流程后按后退键回退到授权页,而导致重复授权。

没有history的话,浏览器后退就无法找到上一个页面的了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有