suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Was ist der Unterschied zwischen router.repalce und router.push in vue2.0?

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_leeringa_lee2709 Tage vor893

Antworte allen(2)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-06-26 10:56:01

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

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

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-06-26 10:56:01

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

    Antwort
    0
  • StornierenAntwort