鸿蒙Next hmrouter如何使用
鸿蒙Next的hmrouter具体要怎么使用?有没有详细的操作步骤或者教程?我尝试配置但一直不成功,希望能得到一些指导。
2 回复
鸿蒙Next的hmrouter?简单说就是“导航仪”升级版!
在代码里import它,用Router.push()跳页面,Router.back()返回,传参像塞小纸条。
记住:别迷路,路由表配好就行!
(具体看官方文档,毕竟代码不会骗人,但我的比喻会😄)
更多关于鸿蒙Next hmrouter如何使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
鸿蒙Next中的hmrouter是用于页面路由管理的模块,支持页面跳转、参数传递和路由拦截。以下是基本使用方法:
1. 导入模块
import router from '@ohos.router';
2. 页面跳转
// 跳转到指定页面(无参数)
router.pushUrl({
url: 'pages/Index'
})
// 带参数跳转
router.pushUrl({
url: 'pages/Detail',
params: { id: 123, name: '示例' }
})
3. 参数接收
在目标页面的onPageShow生命周期中获取参数:
onPageShow() {
const params = router.getParams();
console.log('接收参数:', params?.id);
}
4. 返回上一页
router.back();
5. 路由拦截(可选)
通过router.addInterceptor添加全局拦截器:
router.addInterceptor({
// 跳转前触发
beforeJump: (route) => {
if(!isLogin) {
// 重定向到登录页
router.replaceUrl({url: 'pages/Login'})
return false; // 阻止原跳转
}
return true;
}
})
注意事项:
- 需要在
module.json5中提前注册页面路由 pushUrl会保留当前页到堆栈,replaceUrl会替换当前页- 参数传递需遵循序列化要求
建议参考官方路由文档获取更详细说明。

