javascript - vue2.0에서 router.repalce와 router.push의 차이점은 무엇입니까?
ringa_lee
ringa_lee 2017-06-26 10:54:01
0
2
889

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

ringa_lee
ringa_lee

ringa_lee

모든 응답(2)
Peter_Zhu

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

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

大家讲道理

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

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿