当前位置: 首页 > article >正文

使用 uni-app 开发的微信小程序中,如何在从 B 页面回来时,重新拉取数据?

请添加图片描述

👨🏻‍💻 热爱摄影的程序员
👨🏻‍🎨 喜欢编码的设计师
🧕🏻 擅长设计的剪辑师
🧑🏻‍🏫 一位高冷无情的全栈工程师
欢迎分享 / 收藏 / 赞 / 在看!

【问题】

使用 uni-app 开发的微信小程序中,如何在从 B 页面回来时,重新拉取数据?

【解决】

可以使用监听事件的方式解决返回页面重新获取数据的需求。

官网-$emit

以登录状态失效后,跳转登录相关功能为例:

当点击 A 页面时发现登录状态失效,此时跳转到 B 页面去登录,登录成功后定义一个全局事件 loginSuccess,并返回上一页:

loginSuccess() {
  this.$modal.hideLoading()
  this.$modal.msgSuccess('登录成功')
  setTimeout(() => {
    uni.$emit('loginSuccess'); // 发送事件
    this.$tab.navigateBack() // 返回上一页
  }, 800)
}

在 A 页面中,onShow 钩子中监听登录成功事件,执行 reloadPageData 方法重新获取页面数据。

onShow() {
  // 页面显示,监听登录成功事件
  uni.$on('loginSuccess', this.reloadPageData);
}

需要注意的是,在页面卸载时,需要移除监听事件。

onUnload() {
  // 页面卸载时,移除监听事件
  uni.$off('loginSuccess', this.reloadPageData);
}

或者使用 uni.$once 方法,只监听一次事件。

onShow() {
  // 页面显示,监听登录成功事件
  uni.$once('loginSuccess', this.reloadPageData);
}

http://www.kler.cn/a/457417.html

相关文章:

  • Spring MVC实战指南:构建高效Web应用的架构与技巧(三)
  • 解决CentOS 8 YUM源更新后报错问题:无法下载AppStream仓库元数据
  • Redis数据库笔记—— Hash(哈希)的扩容机制(rehash)
  • jest使用__mocks__设置模拟函数不生效 解决方案
  • kernel32.dll动态链接库报错要怎解决?详细解析kernel32.dll文件缺失解决方案
  • Redis的缓存雪崩,缓存击穿,缓存穿透
  • 【LC】3046. 分割数组
  • 计算机体系结构期末复习4:多处理器缓存一致性(cache一致性)
  • UE5 丧尸类杂兵的简单AI
  • 【Spring MVC】第一站:Spring MVC介绍配置基本原理
  • 人工智能之基于阿里云进行人脸特征检测部署
  • UnityURP 自定义PostProcess之深度图应用
  • Nginx的性能分析与调优简介
  • template<typename Func, typename = void> 在类模板中的应用
  • windows 上安装nginx , 启停脚本
  • 【LeetCode: 83. 删除排序链表中的重复元素 + 链表】
  • Kafka 都有哪些特点?
  • 高质量 Next.js 后台管理模板源码分享,开发者必备
  • vue之axios基本使用
  • OpenHarmony-5.PM 子系统(2)
  • 【人工智能】基于Python和OpenCV实现实时人脸识别系统:从基础到应用
  • PyPika:Python SQL 查询构建器
  • Java删除文件夹
  • 【微服务】SpringBoot 自定义消息转换器使用详解
  • java 加密算法
  • ubuntu linux 更新软件源、在线下载软件、离线安装软件