Heim > Fragen und Antworten > Hauptteil
In vue2.0 erklärt der entsprechende Router2.0, dass router.replace dem Verlauf sehr ähnlich ist. Der einzige Unterschied besteht darin, dass router.replace keine neuen Datensätze zum Verlauf hinzufügt, sondern den aktuellen Verlaufsdatensatz ersetzt.
Was sind also die Unterschiede zwischen den Anwendungsszenarien der beiden?
天蓬老师2017-06-26 10:56:01
可以把路由router想象成一个访问记录的栈,router.replace()
是替换掉栈顶,而router.push()
则是向栈中再堆如一个新记录。
一般情况下,要做前进后退的浏览记录管理的,基本上都是用router.push()
,但是也是有一些特殊情况需要用到router.replace()
。比如,有一个授权页,用户在按流程操作时,某一步需要授权,是直接跳到授权页,授权页提交授权请求,直到成功授权后,跳到流程中的下一步操作的地址。此处,授权请求的那页面应该用replace
去替换掉自身的访问记录,防止用户跳到下一步流程后按后退键回退到授权页,而导致重复授权。