From e13367edf304cb78f978e321f1679299a66b3a23 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 10 Jan 2024 16:08:18 +0800
Subject: [PATCH] fix:地图
---
uni_modules/uview-ui/libs/util/emitter.js | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/uni_modules/uview-ui/libs/util/emitter.js b/uni_modules/uview-ui/libs/util/emitter.js
new file mode 100644
index 0000000..1e64044
--- /dev/null
+++ b/uni_modules/uview-ui/libs/util/emitter.js
@@ -0,0 +1,51 @@
+/**
+ * ������������ call ������this������
+ * @param componentName // ���������������������������
+ * @param eventName // ������������
+ * @param params // ���������������������
+ */
+function broadcast(componentName, eventName, params) {
+ // ��������������������������������������������� ������ ������ ���������������
+ this.$children.map((child) => {
+ if (componentName === child.$options.name) {
+ child.$emit.apply(child, [eventName].concat(params))
+ } else {
+ broadcast.apply(child, [componentName, eventName].concat(params))
+ }
+ })
+}
+export default {
+ methods: {
+ /**
+ * ������ (������������) (������)
+ * @param componentName // ���������������������������
+ * @param eventName // ������������
+ * @param params // ���������������������
+ */
+ dispatch(componentName, eventName, params) {
+ let parent = this.$parent || this.$root// $parent ������������������������ $root ���������
+ let { name } = parent.$options // ���������������������������name
+ // ��������������������� && ��������������� ��� ������������������������������������������������������������������������������
+ // ���������������������������������������������
+ while (parent && (!name || name !== componentName)) {
+ parent = parent.$parent
+ if (parent) {
+ name = parent.$options.name
+ }
+ }
+ // ������������������������������name���������������
+ if (parent) {
+ parent.$emit.apply(parent, [eventName].concat(params))
+ }
+ },
+ /**
+ * ������ (������������) (������������)
+ * @param componentName // ���������������������������
+ * @param eventName // ������������
+ * @param params // ���������������������
+ */
+ broadcast(componentName, eventName, params) {
+ broadcast.call(this, componentName, eventName, params)
+ }
+ }
+}
--
Gitblit v1.8.0