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

使用 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.lryc.cn/news/511977.html

相关文章:

  • Windows API Set:那些“只存在但不被使用“的DLL
  • 黑神话悟空鼠标光标分享
  • 编写一个简单的引导加载程序(bootloader)
  • 【Linux基础】进程(上) —— 概念、状态、优先级与环境变量
  • Rust: enum 和 i32 的区别和互换
  • 2024年终回顾
  • RGB、HSV颜色模型及MATLAB互换应用实例
  • # 【超全面了解鸿蒙生命周期】-生命周期补充
  • 黑神话悟空游戏鼠标光标使用教程与下载
  • 【机器学习】梯度下降
  • 【leetcode 07】707.设计链表
  • 【Spring】详解(上)
  • 短视频矩阵系统后端源码搭建实战与技术详解,支持OEM
  • 力扣每日刷题
  • QT的信号和槽页面的应用
  • 【Java】线程相关面试题 (基础)
  • 【数字化】华为一体四面细化架构蓝图
  • frameworks 之 WMS添加窗口流程
  • 搜索方法归类全解析
  • 第1关:简易考试系统之用户注册
  • VMware的三种网络模式——在NAT模式下开放接口为局域网内其他主机提供服务
  • 智慧地下采矿:可视化引领未来矿业管理
  • 流量主微信小程序工具类去水印
  • 代码随想录算法【Day5】
  • Leetcode 3403. Find the Lexicographically Largest String From the Box I
  • 【游戏设计原理】36 - 环境叙事
  • Python 中的 lambda 函数和嵌套函数
  • 语言模型评价指标
  • 工程师 - MSYS2介绍
  • 算法基础三:插入排序