programing

vue-router: 인수 변경 시 라우팅 방지

nicescript 2022. 7. 14. 21:37
반응형

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

반응형