Dalam vue2.0, router2.0 yang sepadan menerangkan bahawa router.replace sangat serupa dengan router.push Satu-satunya perbezaan ialah router.replace tidak menambah rekod baharu pada sejarah, tetapi menggantikan rekod sejarah semasa.
Jadi apakah perbezaan antara senario aplikasi kedua-duanya?
Anda boleh menganggap penghala sebagai timbunan rekod akses dan
router.replace()
是替换掉栈顶,而router.push()
timbun rekod baharu ke dalam timbunan.Dalam keadaan biasa, jika anda ingin mengurus rekod penyemakan imbas ke hadapan dan ke belakang, anda pada asasnya menggunakan
router.push()
,但是也是有一些特殊情况需要用到router.replace()
。比如,有一个授权页,用户在按流程操作时,某一步需要授权,是直接跳到授权页,授权页提交授权请求,直到成功授权后,跳到流程中的下一步操作的地址。此处,授权请求的那页面应该用replace
untuk menggantikan rekod akses anda sendiri untuk menghalang pengguna daripada melompat ke langkah seterusnya dan kemudian menekan butang belakang untuk kembali ke halaman kebenaran, mengakibatkan kebenaran berulang.Jika tiada sejarah, penyemak imbas tidak akan dapat mencari halaman sebelumnya apabila ia kembali.