开启鸿蒙开发之旅:页面间跳转与传参
本文将带领大家走进鸿蒙开发的世界,重点讲解如何在鸿蒙应用中实现页面间的跳转与参数传递。通过详细剖析@ohos.router的使用方法,以及实际案例的演示,帮助开发者们轻松掌握这一关键技术,为构建高效、流畅的鸿蒙应用奠定基础。跟随本文,让我们一起开启精彩的鸿蒙开发之旅!
·
在鸿蒙操作系统的开发过程中,页面间的跳转与参数传递是基本且重要的功能。本文将详细介绍如何使用router实现页面间的跳转与传参。
页面A与页面B:


需求:
当点击页面A的右箭头时跳转到页面B并将列表数据传递给页面B,当点击页面B左上角的返回箭头时,返回到页面A并传递列表数据给页面A 。
实现步骤:
A ---> B:
1、页面A中引入router
import router from '@ohos.router';
2、在页面A箭头的点击事件中使用router.pushUrl实现跳转
Image($r('app.media.ic_right'))
.width(20)
.onClick(() => {
router.pushUrl({
url:'pages/noticeList'
})
})
3、用params传递参数
Image($r('app.media.ic_right'))
.width(20)
.onClick(() => {
router.pushUrl({
url:'pages/noticeList',
params:{
msg: '我是A页面传过来的数据'
}
})
})
4、在页面B中接收
aboutToAppear() {
const params = router.getParams()
promptAction.showToast({ message: JSON.stringify(params) })
}
B ---> A :
1、在页面B中引入router
import router from '@ohos.router';
2、在页面B返回箭头点击事件中使用router.back返回并传参:
Image($r('app.media.ic_back'))
.width(20)
.fillColor('#007aff')
.onClick(() => {
router.back({
url:'pages/Index',
params:{
num:this.listData.length
}
})
})
3、 在页面A中接收
onPageShow(): void {
let params:object = router.getParams()
if(params['num']) {
this.listData[0].num = params['num']
}
}
总结:
-
跳转
router.pushUrl() -
后退
router.back() -
替换跳转
router.replaceUrl()
TIP
- 页面栈的最大容量为32个页面。如果超过这个限制,可以调用
router.clear()方法清空历史页面栈,释放内存空间。
更多推荐


所有评论(0)