>  Q&A  >  본문

javascript - vue2.0에서 router.repalce와 router.push의 차이점은 무엇입니까?

vue2.0에서 해당 router2.0은 router.replace가 router.push와 매우 유사하다고 설명합니다. 유일한 차이점은 router.replace가 기록에 새 레코드를 추가하지 않고 현재 기록 레코드를 대체한다는 것입니다.
그렇다면 두 가지 적용 시나리오의 차이점은 무엇인가요?

ringa_leeringa_lee2690일 전867

모든 응답(2)나는 대답할 것이다

  • 天蓬老师

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

    라우터를 액세스 레코드의 스택으로 생각하고 router.replace()是替换掉栈顶,而router.push()스택에 새로운 레코드를 쌓을 수 있습니다.

    일반적인 상황에서 앞으로 및 뒤로 탐색 기록을 관리하려면 기본적으로 router.push(),但是也是有一些特殊情况需要用到router.replace()。比如,有一个授权页,用户在按流程操作时,某一步需要授权,是直接跳到授权页,授权页提交授权请求,直到成功授权后,跳到流程中的下一步操作的地址。此处,授权请求的那页面应该用replace를 사용하여 자신의 액세스 기록을 교체하여 사용자가 다음 단계로 점프한 후 뒤로 버튼을 눌러 인증 페이지로 돌아가는 것을 방지합니다. 반복적인 승인.

    회신하다
    0
  • 大家讲道理

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

    기록이 없으면 브라우저가 돌아갈 때 이전 페이지를 찾을 수 없습니다.

    회신하다
    0
  • 취소회신하다