From d297111365cb9b50d74e523ad7ce44a6c41d4712 Mon Sep 17 00:00:00 2001 From: heiye111 Date: Sun, 5 Oct 2025 20:21:07 +0800 Subject: [PATCH] =?UTF-8?q?052~058:=E5=B0=9A=E7=A1=85=E8=B0=B7=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E9=80=9A=E4=BF=A1=E7=9B=B8=E5=85=B3=E5=AD=A6=E4=B9=A0?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 1 + package.json | 1 + src/App.vue | 8 ++--- src/components/01_props/Child.vue | 40 +++++++++++++++++++++++ src/components/01_props/Child2.vue | 51 ++++++++++++++++++++++++++++++ src/components/01_props/Father.vue | 48 ++++++++++++++++++++++++++++ src/components/AtInput.vue | 12 +++++++ src/main.ts | 2 ++ src/utils/emitter.ts | 26 +++++++++++++++ 9 files changed, 184 insertions(+), 5 deletions(-) create mode 100644 src/components/01_props/Child.vue create mode 100644 src/components/01_props/Child2.vue create mode 100644 src/components/01_props/Father.vue create mode 100644 src/components/AtInput.vue create mode 100644 src/utils/emitter.ts diff --git a/package-lock.json b/package-lock.json index 21d59fd..1f21011 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "axios": "^1.12.2", + "mitt": "^3.0.1", "pinia": "^3.0.3", "ulid": "^3.0.1", "uuid": "^13.0.0", diff --git a/package.json b/package.json index d60376f..8c2a6d7 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ }, "dependencies": { "axios": "^1.12.2", + "mitt": "^3.0.1", "pinia": "^3.0.3", "ulid": "^3.0.1", "uuid": "^13.0.0", diff --git a/src/App.vue b/src/App.vue index baf72e4..750dc24 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,14 +1,12 @@ \ No newline at end of file diff --git a/src/components/01_props/Child.vue b/src/components/01_props/Child.vue new file mode 100644 index 0000000..d6895f9 --- /dev/null +++ b/src/components/01_props/Child.vue @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/src/components/01_props/Child2.vue b/src/components/01_props/Child2.vue new file mode 100644 index 0000000..8d3ad48 --- /dev/null +++ b/src/components/01_props/Child2.vue @@ -0,0 +1,51 @@ + + + + + \ No newline at end of file diff --git a/src/components/01_props/Father.vue b/src/components/01_props/Father.vue new file mode 100644 index 0000000..5404447 --- /dev/null +++ b/src/components/01_props/Father.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/src/components/AtInput.vue b/src/components/AtInput.vue new file mode 100644 index 0000000..03fe3c3 --- /dev/null +++ b/src/components/AtInput.vue @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 2061901..0681d2f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,6 +3,8 @@ import { createApp } from "vue"; import App from "./App.vue"; //引入pinia import { createPinia } from "pinia"; + +import emitter from "@/utils/emitter" // 创建Pinia实例 const pinia = createPinia(); // 创建Vue应用程序实例 diff --git a/src/utils/emitter.ts b/src/utils/emitter.ts new file mode 100644 index 0000000..240f242 --- /dev/null +++ b/src/utils/emitter.ts @@ -0,0 +1,26 @@ +// 事件总线 +import mitt from 'mitt' +// 实例化事件总线 +const emitter = mitt() + +// emitter.on('test',(data)=>{ +// console.log('test',data) +// }) +// emitter.on('test2',(data)=>{ +// console.log('test2',data) +// }) + +// setInterval(()=>{ +// emitter.emit('test',{name:'zhangsan撒大大撒旦'}) +// emitter.emit('test2',{name:'lisi大苏打实打实'}) + +// },1000) + +// setInterval(()=>{ +// emitter.off('test') +// },3000) + + + +// 导出事件总线 +export default emitter