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) => {})实现

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

相关推荐
叶梅树2 小时前
DocsJS npmjs 自动化发布复盘(Trusted Publisher)
前端·npm
我命由我123452 小时前
Element Plus - Form 的 resetField 方法观察记录
开发语言·前端·javascript·vue.js·html·html5·js
清空mega3 小时前
《Vue3 项目结构详解:components、views、assets、router、stores 到底该怎么理解?》
前端·javascript·vue.js
雨雨雨雨雨别下啦4 小时前
Vue——小白也能学!Day6
前端·javascript·vue.js
XPoet4 小时前
AI 编程工程化:Hook——AI 每次操作前后的自动检查站
前端·后端·ai编程
難釋懷4 小时前
RedisTemplate配置读写分离
前端·bootstrap·html
冰暮流星4 小时前
javascript如何实现删除数组里面的重复元素
开发语言·前端·javascript
网络点点滴6 小时前
透传属性$attrs
前端·javascript·vue.js
90后的晨仔6 小时前
OpenClaw macOS 完整安装指南
前端
Moment6 小时前
尤雨溪宣布 Vite+ 正式开源,前端工具链要大一统了
前端·javascript·面试