diff --git a/common/componentEventHandle.js b/common/componentEventHandle.js index 760b911..bbab5a6 100644 --- a/common/componentEventHandle.js +++ b/common/componentEventHandle.js @@ -17,7 +17,10 @@ export const goLogin = ()=> { // 校验用户信息 export const handleCheckUserInfo = async()=> { let bl = false - const $loginRef = getApp().globalData.$loginRef + let pages = getCurrentPages() + let currentPage = pages[pages.length - 1] + // 获取当前页面实例的全局组件 + const $loginRef = currentPage.$loginRef if($loginRef?.handleCheckUserInfo) { bl = await $loginRef?.handleCheckUserInfo() } diff --git a/components/tpx-page/tpx-page.vue b/components/tpx-page/tpx-page.vue index 0357a46..a0466ee 100644 --- a/components/tpx-page/tpx-page.vue +++ b/components/tpx-page/tpx-page.vue @@ -23,9 +23,9 @@ }, created() { }, + // 初始化渲染后 mounted(){ - // 初始化全局组件 - getApp().globalData.$loginRef = this.$refs.loginRef + this.initRefsComponent() }, onHide() { @@ -35,6 +35,13 @@ methods: { handleClick() { uni.$emit(pageEventNames.globalClick) + }, + // 初始化全局组件 + initRefsComponent(){ + // 全局组件注册到当前页面实例中 + let pages = getCurrentPages() + let currentPage = pages[pages.length - 1] + currentPage.$loginRef = this.$refs.loginRef } } }