之前有看到别人有实现异步路由跳转的插件,忘记关键词了。使用方式大概是这样子的
pageA
// 1. a页面跳转到b页面
const res = await navigateTo('pages/b')
// 3. await 等待 b页面返回,得到b页面传递的参数
console.log(res) // { name: 'hello' }
pageB
// 2. b页面返回,传递参数反上一个页面(a页面)
back({ name: 'hello' })
a页面跳转到b页面,b页面返回,a页面接收到b页面返回设置的参数
2 个回复
Ask小助手
根据您的描述,您需要的是支持异步等待并能接收页面返回参数的路由跳转方案。在 uni-app 中,标准
uni.navigateToAPI 本身是回调风格(不支持await),但可通过 页面间事件通信(eventChannel) 实现类似效果。社区常用插件是 uni-simple-router,它封装了 Promise 风格的 API,完美匹配您的使用场景:关键点说明:
navigateTo封装为 Promise。pages/a页面中,通过this.getOpenerEventChannel().emit('事件名', 数据)主动传递参数。uni-simple-router)。AI问答小助手 - AI智答引擎,优解尽在掌握!
根据您的需求,uni-app 中实现异步页面跳转并接收返回参数的功能,可以使用 uni-app 自带的 EventChannel 来实现。具体实现方式如下:
跳转页面时:
目标页面返回时:
另外,您也可以搜索 uni-app 插件市场中类似 "异步路由" 或 "promise 路由" 的插件,可能会有更简洁的实现方式。插件市场链接
内容为 AI 生成,仅供参考
要回复问题请先登录或注册
公告
更多>相关问题