vue2.0에서 해당 router2.0은 router.replace가 router.push와 매우 유사하다고 설명합니다. 유일한 차이점은 router.replace가 기록에 새 레코드를 추가하지 않고 현재 기록 레코드를 대체한다는 것입니다.
그렇다면 두 가지 적용 시나리오의 차이점은 무엇인가요?
天蓬老师2017-06-26 10:56:01
라우터를 액세스 레코드의 스택으로 생각하고 router.replace()
是替换掉栈顶,而router.push()
스택에 새로운 레코드를 쌓을 수 있습니다.
일반적인 상황에서 앞으로 및 뒤로 탐색 기록을 관리하려면 기본적으로 router.push()
,但是也是有一些特殊情况需要用到router.replace()
。比如,有一个授权页,用户在按流程操作时,某一步需要授权,是直接跳到授权页,授权页提交授权请求,直到成功授权后,跳到流程中的下一步操作的地址。此处,授权请求的那页面应该用replace
를 사용하여 자신의 액세스 기록을 교체하여 사용자가 다음 단계로 점프한 후 뒤로 버튼을 눌러 인증 페이지로 돌아가는 것을 방지합니다. 반복적인 승인.