页面路由是指在应用程序中实现不同页面之间的跳转和数据传递。
1.导入HarmonyOS提供的Router模块:
import router from '@ohos.router'
2.使用router的api实现跳转、返回等操作:
// 跳转到指定路径,并传递参数
router.pushUrl(
{
url: 'pages/ImagePage',
params: {id: 1}
},
router.RouterMode.Single,
err => { // 异常响应回调函数
if(err) {
console.log(`路由失败, errCode: ${err.code}, errMsg: ${err.message}`)
}
}
)
3.目标页面获取参数:
// 获取传递过来的参数,使用any类型接收
params: any = router.getParams()
// 返回上一页
router.back()
// 返回到指定页面,并携带参数
router.back(
{
url: 'pages/Index',
params: {id: 10}
}
)
页面路径需要在resources.base.profile.main_pages.json
中进行配置。
{
"src": [
"pages/Index",
"pages/ImagePage"
]
}
// 返回前的警告提示,点取消则不返回
router.showAlertBeforeBackPage({
message: '确定要返回吗?'
})
// 返回页面
router.back()