[vue-study] 페이지이동, 새로고침 방지

JooSehyun·2024년 3월 28일
0

[Study]

목록 보기
28/35
post-thumbnail

[vue-study] 페이지이동, 새로고침 방지


수정 페이지나 등록을 처리하는 페이지에서 페이지이동 , 새로고침 을 방지하는 방법

import { onMounted, onUnmounted } from 'vue';
import { onBeforeRouteLeave } from 'vue-router';

function _beforeUnloadHandler(event: Event) {
    event.preventDefault();

    return;
}

function _useWindow() {
    onMounted(() => {
        window.addEventListener('beforeunload', _beforeUnloadHandler);
    });
    onUnmounted(() => {
        window.removeEventListener('beforeunload', _beforeUnloadHandler);
    });
    onBeforeRouteLeave((_$1, { meta }, next) => {
        if (meta.ignoreConfirm) {
            next();

            return;
        }

        const isAccept = window.confirm('페이지를 이동하시겠습니까?');

        next(isAccept);
    });
}

export {
    _useWindow as useWindow
};


0개의 댓글