HarmonyOS 鸿蒙Next中的路由跳转有哪些方式?
HarmonyOS 鸿蒙Next中的路由跳转有哪些方式?
页面跳转参考Navigation路由相关的操作:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-navigation-navigation-V5#路由操作
Navigation与Router对比:
易用性层面:
Navigation天然具备标题、内容、回退按钮的功能联动,开发者可以直接使用此能力。Router若要实现此能力,需要自行定义;
Navigation的页面是由组件构成,易于实现共享元素的转场。
功能层面:
Navigation天然支持一多,Router不支持;
Navigation没有路由数量限制,Router限制32个;
Navigation可以获取到路由栈NavPathStack,并对路由栈进行操作;
Navigation可以嵌套在模态对话框中,也就是说可以模态框中定义路由,Router不支持;
Navigation的组件全量由开发者自行控制,开发者可以自定义复杂的动效和属性的设置(背景、模糊等),Router的page对象不对外暴露,开发者无法对page进行处理。
性能层面
Navigation传递参数性能更优,Navigation通过引用传递,Router通过深拷贝完成;
Navigation可以配合动态加载,实现组件动态加载,Router页面使用[@Entry](/user/Entry)进行修饰,当前模块加载时会生成全量页面。
应用架构可以参考链接:https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-app-architecture-overview-V5
一般建议用Navigation,Router切换Navigation参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-router-to-navigation-V5
更多关于HarmonyOS 鸿蒙Next中的路由跳转有哪些方式?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS 鸿蒙Next中的路由跳转主要包括以下几种方式:
- 使用Navigation组件:这是鸿蒙系统推荐的方式。通过设置导航页面列表和页面栈信息,可以在点击事件中调用pushPath或相关方法进行页面跳转。Navigation组件功能强大,适用于复杂的页面导航需求。
- 使用HMRouter库:如果项目中有使用HMRouter库,可以通过定义路由入口和调用pushNamedRoute或pushUrl等方法实现页面跳转。对于跨模块跳转,建议使用pushNamedRoute方法,并确保路由名称正确。
- Router模块:虽然鸿蒙系统后续主推Navigation,但Router模块仍然可用且不会废弃。Router提供了pushUrl和replaceUrl两种跳转模式,分别用于压入页面栈和替换当前页。使用Router模块时,需要在代码中先导入router模块。
在进行路由跳转时,请确保路由配置正确,包括目标页面的URL或路由名称,并遵循鸿蒙系统的传参规范。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。