uni-app中,实现页面之间传参

使用场景:

前提条件:当我们从一个列表页面,进入新增页面,

情况1:在新增页面,信息添加成功后,返回列表页面,此时,需要更新列表数据;

情况2:在新增页面,没有添加信息,直接返回列表页面,此时,不需要更新列表数据

针对以上情况,具体实现如下:

列表页面A,代码内容如下:
javascript 复制代码
import { onShow } from '@dcloudio/uni-app'

onShow(() => {
  // 当从添加页面返回时,如果有数据更新,则需要刷新列表
  uni.$on('update', (e: boolean) => {
    // 为true时,表示需要更新数据
    if (e) {
      page.value = 1
      total.value = 0
      getList()
    }
  })
})

添加页面B,代码内容如下:

javascript 复制代码
// 确认添加信息
const confirmSubmit = async () => {
  try {
    btnLoading.value = true
    // 执行对应接口
    await interfaceName(params)
    // 添加成功时,返回列表页面,需要重新刷新数据
    uni.$emit('update', true)
    // 添加成功之后,才返回列表页面
    uni.navigateBack()
  } catch (e) {
    console.log(e)
  } finally {
    btnLoading.value = false
  }
}

注意: 页面之间传参,通过uni.emit('update', params)与uni.on('update', (e: boolean) => {})实现

大家如有其他更好的方法,欢迎大家留言评论。如果有错误的地方,也请大家及时指出,非常感谢!

相关推荐
sm_926787051 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
IMPYLH1 小时前
HTML 的 <video> 元素
前端·html
溪语流沙2 小时前
【每天一个CSS | Day19】流光文字与一笔写成的手写签名
前端·javascript·css
逐光者9332 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
To_OC2 小时前
同样是让 AI 写全栈,为什么别人一句话就够了
前端·前端框架·next.js
CDwenhuohuo2 小时前
electron pc项目打包成桌面端
前端·javascript·electron
前端大斗师2 小时前
「大于 1000」把 1000 元那单也算进去了:我在 Vue3 订单页对了 10 句话
前端·人工智能·typescript·大模型·原力计划
Jmyd01233 小时前
用 Web VR 引擎搭建 3D 虚拟展厅:从素材上云到多端实时渲染的完整数据链路
前端·3d·vr·三维数字化
Geek_Vison3 小时前
保险APP已经用了Flutter,还能接入小程序吗?
flutter·小程序·uni-app·mpaas·小程序容器
刘天远4 小时前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python