I have an UnsavedChangesModal
as a component that needs to be launched when the user tries to leave the page when he has unsaved changes in the input fields (I have
Assuming you're using vue-router (and you probably should be), then you'll want to use the beforeRouteLeave
guard. The documentation even gives an example of this exact situation:
beforeRouteLeave (to, from , next) {
const answer = window.confirm('Do you really want to leave? you have unsaved changes!')
if (answer) {
next()
} else {
next(false)
}
}
That can be added directly right on your component:
components: { ... },
mounted: { ... }
methods: { ... },
beforeRouteLeave (to, from, next) { ... }