From 3d1f83d0ff818416e0dae9c1009a30ce12453aef Mon Sep 17 00:00:00 2001 From: Miao_Spring <539943419@qq.com> Date: Tue, 13 Aug 2024 21:04:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B5=E9=9D=A2=E5=8A=A0?= =?UTF-8?q?=E5=85=A5/=E5=88=A0=E9=99=A4/=E6=96=87=E4=BB=B6=E5=8A=A0?= =?UTF-8?q?=E5=85=A5/=E5=88=A0=E9=99=A4=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 +- src/App.vue | 207 +++++++++++++++++++++++------------ src/class/virtualPage.ts | 2 + src/hooks/useDataBus.ts | 9 +- src/hooks/useUploadQueue.ts | 10 +- src/hooks/useVirtualPages.ts | 11 ++ src/views/miaoDirectory.vue | 189 ++++++++++++++++++-------------- 7 files changed, 283 insertions(+), 157 deletions(-) create mode 100644 src/hooks/useVirtualPages.ts diff --git a/README.md b/README.md index 33895ab..4083689 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ -# Vue 3 + TypeScript + Vite - -This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` diff --git a/src/class/virtualPage.ts b/src/class/virtualPage.ts index ae584dc..7fd64ec 100644 --- a/src/class/virtualPage.ts +++ b/src/class/virtualPage.ts @@ -42,6 +42,8 @@ export default class VirtualPage { this.currentDirectory = currDir; } + // 刷新,不过好像没有用得到的时候吧 + // 事实上也不应该用得到,因为更新应该是响应式的 refresh() { this.refreshKey = Math.random(); } diff --git a/src/hooks/useDataBus.ts b/src/hooks/useDataBus.ts index 23bbb73..a3f5222 100644 --- a/src/hooks/useDataBus.ts +++ b/src/hooks/useDataBus.ts @@ -1,6 +1,13 @@ -const dataStorage: any = {}; +import { reactive } from "vue"; + +let dataStorage: { + [key: string | number] : any +}; export default function useDataBus() { + if(dataStorage === undefined) { + dataStorage = reactive({}) + } return { set(key: string | number, value: any) { dataStorage[key] = value; diff --git a/src/hooks/useUploadQueue.ts b/src/hooks/useUploadQueue.ts index a30a819..ca44b2e 100644 --- a/src/hooks/useUploadQueue.ts +++ b/src/hooks/useUploadQueue.ts @@ -1,5 +1,11 @@ import UploadQueue from "@/class/UploadQueue"; +import { reactive } from "vue"; -const uploadQueue = new UploadQueue() +let uploadQueue: UploadQueue -export default () => uploadQueue \ No newline at end of file +export default () => { + if(uploadQueue === undefined){ + uploadQueue = reactive(new UploadQueue()) + } + return uploadQueue +} \ No newline at end of file diff --git a/src/hooks/useVirtualPages.ts b/src/hooks/useVirtualPages.ts new file mode 100644 index 0000000..ad6f799 --- /dev/null +++ b/src/hooks/useVirtualPages.ts @@ -0,0 +1,11 @@ +import VirtualPage from "@/class/VirtualPage" +import { Reactive, reactive } from "vue" + +let views: Reactive + +export default function useViretualPages(){ + if(views === undefined) { + views = reactive([]) + } + return views +} \ No newline at end of file diff --git a/src/views/miaoDirectory.vue b/src/views/miaoDirectory.vue index a52f991..7be62e3 100644 --- a/src/views/miaoDirectory.vue +++ b/src/views/miaoDirectory.vue @@ -1,62 +1,59 @@