반응형
vue-router: 인수 변경 시 라우팅 방지
저장되지 않은 경로에서 탈퇴를 확인하고 사용자가 거부하면 경로 변경을 취소하려고 합니다.
대부분 와 함께 동작합니다.
beforeRouteLeave: function (to, from, next) {
if (!confirm('Leaving form')) next(false);
}
이 문제는 루트 인수에 있습니다.#/form-path?id=5
- 변경id
인수가 트리거되지 않음beforeRouteLeave
.
인수 변경 시 네비게이션을 방지하기 위해 사용할 수 있는 후크는 무엇입니까?
다이내믹 루트 매칭은 다른 경로 또는 URL을 같은 루트 또는 컴포넌트에 매핑하도록 특별히 설계되었습니다.따라서 인수를 변경해도 기술적으로 루트를 떠나는(또는 변경하는) 것으로 간주되지 않습니다.beforeRouteLeave
당연히 해고되지 않는다.
단, 루트에 대응하는 컴포넌트가 인수의 변경을 검출하도록 할 수 있습니다.기본적으로 인수가 변경될 때마다 변경을 기록한 후 되돌립니다(사용자가 알아차리지 못할 정도로 빨리 되돌리기를 희망함).그리고 확인을 요구합니다.사용자가 변경을 확인한 경우 레코드를 사용하여 변경을 "반복"합니다.단, 사용자가 확인하지 않은 경우에는 그대로 유지합니다(반복하지 마십시오).
저는 개인적으로 테스트한 적이 없기 때문에 동작할 수 있는 것은 아니지만, 앱의 어느 부분이 변경되었는지 확인하는 것에 대한 혼란은 해소되었기를 바랍니다.
언급URL : https://stackoverflow.com/questions/41435612/vue-router-preventing-routing-on-argument-change
반응형
'programing' 카테고리의 다른 글
2차원 배열 포인터 만들기 (0) | 2022.07.14 |
---|---|
Webpack 및 Typescript 포함 Vue 2.5 템플릿 (0) | 2022.07.14 |
메모리의 기능에는 memset, memchr 등이 있습니다.string.h에 있는데 다른 mem 함수와 함께 stdlib.h에 없나요? (0) | 2022.07.14 |
adroid.content.res를 클릭합니다.Resources$NotFoundException:문자열 리소스 ID #0x0 (0) | 2022.07.14 |
logger(log4j)에 대한 추가 프로그램을 찾을 수 없습니다. (0) | 2022.07.14 |