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 @@