Estoy tratando de mostrar una confirmación emergente cuando la página se vuelve a cargar o salgo de mi sitio web en Vue js. Acabo de implementar la función beforeRouteLeave en mi componente, pero esto funciona solo cuando voy a otra página en mi sitio, no cuando salgo o recargo la página. Ya probé la función window.addEventListener pero la ventana emergente aparece en todo mi sitio web. Quiero mostrar este mensaje de confirmación solo en la página de este componente Vue
Hay algún ejemplo:
Esto está en el componente Vue:
beforeRouteLeave (to, from, next) { const answer = window.confirm('Confermation Message') if (answer) { next() } else { next(false) } }, Esto está en el componente Vue, pero fuera del export default :
window.addEventListener('beforeunload', (event) => { if (logic) { event.returnValue = 'Sei sicuro di uscire? Le modifiche non salvate andranno perse' } })¿Como lo puedo hacer?
Podrías hacerlo
const confirmExit = () => window.confirm('Sei sicuro di uscire? Le modifiche non salvate andranno perse') window.addEventListener('beforeunload', evt => { if (!confirmExit()) { evt.preventDefault(); evt.returnValue = true; } }); Luego, en su método beforeRouteLeave también puede verificar if (confirmExit()) en lugar de if (answer) .