From 95a4af2b083221fc96cf3d31b1ac51e4265f08b3 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Fri, 10 May 2024 16:10:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=9A=80=20=E5=BD=93=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=80=80=E5=87=BA=E7=BB=99=E5=87=BA=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/directives/index.ts | 3 ++- src/directives/modules/existShow.ts | 20 ++++++++++++++++++++ src/views/bunny/default/index.vue | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/directives/modules/existShow.ts diff --git a/src/directives/index.ts b/src/directives/index.ts index ba9dcab..4015ede 100644 --- a/src/directives/index.ts +++ b/src/directives/index.ts @@ -1,8 +1,9 @@ import { App, Directive } from 'vue'; import copy from './modules/copy'; +import existShow from './modules/existShow'; import waterMarker from './modules/waterMarker'; -const directivesList: { [key: string]: Directive } = { copy, waterMarker }; +const directivesList: { [key: string]: Directive } = { copy, waterMarker, existShow }; /** * 挂载自定义事件 diff --git a/src/directives/modules/existShow.ts b/src/directives/modules/existShow.ts new file mode 100644 index 0000000..84f7367 --- /dev/null +++ b/src/directives/modules/existShow.ts @@ -0,0 +1,20 @@ +import { Directive } from 'vue'; + +interface ElType extends HTMLElement { + copyData: string | number; // 定义一个属性,用于存储需要复制的数据 + __handleClick__: any; // 定义一个属性,用于存储事件处理函数 +} + +/** + * * 当关闭这个页面时提示是否退出,不需要传递参数 + */ +const existShow: Directive = { + // 指令与元素绑定时触发 + beforeMount(el: ElType) { + window.onbeforeunload = function (event) { + (event || window.event).returnValue = '确定离开此页吗?'; + }; + }, +}; + +export default existShow; diff --git a/src/views/bunny/default/index.vue b/src/views/bunny/default/index.vue index 3810c5e..3cfbb99 100644 --- a/src/views/bunny/default/index.vue +++ b/src/views/bunny/default/index.vue @@ -1,5 +1,5 @@