javascript - vue2.0中router.repalce跟router.push有什麼差別,二者的應用場景是會有怎樣的差別?
ringa_lee
ringa_lee 2017-06-26 10:54:01
0
2
880

vue2.0中,在其對應的router2.0中解釋router.replace跟router.push二者很像,唯一的區別是router.replace不會向history 添加新記錄,而是替換掉當前的history 記錄。
那麼試問二者的應用場景有什麼不同?

ringa_lee
ringa_lee

ringa_lee

全部回覆(2)
Peter_Zhu

可以把路由router想像成一個存取記錄的棧,router.replace()是替換掉棧頂,而router.push()則是向棧中再堆如一個新記錄。

一般情況下,要做前進後退的瀏覽記錄管理的,基本上都是用router.push(),但是也是有一些特殊情況需要用到router.replace()。例如,有一個授權頁,使用者在按流程操作時,某一步需要授權,是直接跳到授權頁,授權頁提交授權請求,直到成功授權後,跳到流程中的下一步操作的位址。此處,授權請求的那頁面應該用replace去替換掉自身的存取記錄,防止用戶跳到下一步流程後按後退鍵回退到授權頁,而導致重複授權。

大家讲道理

沒有history的話,瀏覽器後退就找不到上一個頁面的了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板