HarmonyOS Navigation和router的使用场景
HarmonyOS Navigation和router的使用场景。
HarmonyOS
赞
收藏 0
回答 2
待解决
相关问题
HarmonyOS router/navigation和SubWindow的使用场景分别是什么?
14浏览 • 1回复 待解决
router和Navigation的技术选择、推荐使用场景和演进策略是什么
2093浏览 • 1回复 待解决
HarmonyOS Navigator的使用场景
83浏览 • 1回复 待解决
HAR和HSP的使用场景区分
437浏览 • 1回复 待解决
HarmonyOS 跳转方式Router和Navigation的区别及推荐使用的场景有哪些?
0浏览 • 1回复 待解决
HarmonyOS Array和ArrayList的区别及使用场景?
68浏览 • 1回复 待解决
HarmonyOS Navigation和Router这两种跳转方式可以共用吗?使用场景有什么不一样?
218浏览 • 1回复 待解决
HarmonyOS onDidBuild的作用和应用场景
111浏览 • 1回复 待解决
HarmonyOS Navigator、Navigation、router分别在什么场景下使用呢?
95浏览 • 1回复 待解决
关于emitter、eventHub的使用场景
2671浏览 • 1回复 待解决
napi 基本使用场景示例
1608浏览 • 1回复 待解决
关于router和Navigation要选择哪个使用
730浏览 • 2回复 待解决
HarmonyOS Navigation 和 router不能混合使用吗
70浏览 • 1回复 待解决
#鸿蒙通关秘籍#TaskPool和Worker的使用场景及区别有何不同?
82浏览 • 1回复 待解决
HarmonyOS Navigation和router怎么用
69浏览 • 1回复 待解决
组件导航相关Navigation和Tabs组件有什么区别?各自适用场景和定位是什么?
2412浏览 • 1回复 待解决
HarmonyOS Navigation和router如何选择
0浏览 • 1回复 待解决
请问ArkTS中this使用场景是什么?
2019浏览 • 1回复 待解决
ArkGraphics 2D都有哪些使用场景?
651浏览 • 1回复 待解决
HarmonyOS 针对API12:组件使用场景dialog
88浏览 • 1回复 待解决
UIAbility与UIExtensionAbility的使用场景上有什么区别
1688浏览 • 1回复 待解决
mybatis一级缓存 设计的意义和运用场景
2168浏览 • 1回复 待解决
Oceanbase与DRDS的关系与使用场景的区别?
3872浏览 • 1回复 待解决
navigation和router的区别是什么?
1062浏览 • 1回复 待解决
#鸿蒙通关秘籍#loadNativeModule接口有哪些使用场景?
130浏览 • 1回复 待解决
在HarmonyOS的ArkUI中,
Navigation
和 Router
是用于页面导航和路由管理的重要工具。它们在实现应用的多页面结构和页面转换时发挥了关键作用。### Navigation
Navigation
是一种基于声明式UI开发的导航管理方式,通常用于ArkUI中的TSX(TypeScript XML)编写的页面。在这种方式下,你可以通过绑定导航目标来实现页面跳转,并且可以很方便地传递参数、处理返回结果等。#### 使用场景
#### 示例代码 以下示例展示如何使用
Navigation
实现页面跳转与参数传递。### Router
Router
则是一种更底层的导航控制API,提供了更多的灵活性和功能,如返回页面历史堆栈、替换当前页面等。通常用于需要对页面栈进行更细粒度控制的场景。#### 使用场景
#### 示例代码 以下示例展示如何使用
Router
实现页面跳转、返回和替换。### 总结
根据具体需求选择合适的方法,可以更好地实现页面导航和用户体验。
当前HarmonyOS支持两套路由机制(Navigation和Router),Navigation作为后续长期演进及推荐的路由选择方案,其与Router比较的优势如下:
易用性层面:
Navigation天然具备标题、内容、回退按钮的功能联动,开发者可以直接使用此能力。Router若要实现此能力,需要自行定义。
Navigation的页面是由组件构成,易于实现共享元素的转场。
功能层面:
Navigation天然支持一多,Router不支持。
Navigation没有路由数量限制,Router限制32个。
Navigation可以获取到路由栈NavPathStack,并对路由栈进行操作。
Navigation可以嵌套在模态对话框中,也就是说可以模态框中定义路由,Router不支持。
Navigation的组件全量由开发者自行控制,开发者可以自定义复杂的动效和属性的设置(背景、模糊等),Router的page对象不对外暴露,开发者无法对page进行处理。
性能层面:
Navigation传递参数性能更优,Navigation通过引用传递,Router通过深拷贝完成。
Navigation可以配合动态加载,实现组件动态加载,Router页面使用@Entry进行修饰,当前模块加载时会生成全量页面。
应用架构可以参考链接:https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-app-architecture-overview-V5推荐使用Navigation,navigation后续是会兼容router所有的能力而且比router的功能更强大,未来navigation是主流。