javascript - Was ist der Unterschied zwischen router.repalce und router.push in vue2.0?
ringa_lee
ringa_lee 2017-06-26 10:54:01
0
2
883

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?

ringa_lee
ringa_lee

ringa_lee

Antworte allen(2)
Peter_Zhu

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

一般情况下,要做前进后退的浏览记录管理的,基本上都是用router.push(),但是也是有一些特殊情况需要用到router.replace()。比如,有一个授权页,用户在按流程操作时,某一步需要授权,是直接跳到授权页,授权页提交授权请求,直到成功授权后,跳到流程中的下一步操作的地址。此处,授权请求的那页面应该用replace去替换掉自身的访问记录,防止用户跳到下一步流程后按后退键回退到授权页,而导致重复授权。

大家讲道理

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage