HarmonyOS NavDestination和page使用区别
NavDestination和page在使用上,除了生命周期的回调还有什么区别?使用NavDestination在功能上和性能上会不会有问题?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
Page内导航使用startAbility() 和presentForResult()的区别?
7408浏览 • 3回复 待解决
NavDestination组件的STANDARD模式和DIALOG模式有什么区别?
653浏览 • 1回复 待解决
HarmonyOS dialog和page,还有page和page之间通信
104浏览 • 1回复 待解决
HarmonyOS 使用navDestination报类型异常
41浏览 • 1回复 待解决
HarmonyOS Boolean和boolean在使用上的区别
113浏览 • 1回复 待解决
HarmonyOS 使用NavDestination的foregroundColor问题
562浏览 • 1回复 待解决
HarmonyOS V2和V1的使用和区别?
494浏览 • 0回复 待解决
HarmonyOS Array和ArrayList的区别及使用场景?
426浏览 • 1回复 待解决
HarmonyOS NavDestination 路由方案和全模态页面冲突
242浏览 • 1回复 待解决
HarmonyOS 使用NavDestination,如何修改返回按钮的图片 和 隐藏返回按钮的图片?
1569浏览 • 1回复 待解决
HarmonyOS preference和kvStore使用场景区别是啥
335浏览 • 1回复 待解决
HarmonyOS media和rawfile区别
147浏览 • 1回复 待解决
HarmonyOS NavDestination中使用LocalStorage无效的问题
160浏览 • 1回复 待解决
HarmonyOS clearAllCookiesSync和deleteSessionCookie区别
86浏览 • 1回复 待解决
HarmonyOS ArkTS和TS区别
283浏览 • 1回复 待解决
Navigation和NavDestination的title能否居中显示?
482浏览 • 1回复 待解决
console.log和hilog的区别,如何选择使用
2566浏览 • 1回复 待解决
HarmonyOS 不使用bindSheet实现page自定义高度和window背景颜色
464浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用NavDestination和Scroll创建知乎日报详情页面?
370浏览 • 1回复 待解决
HarmonyOS page和WebView无法设置为透明
674浏览 • 1回复 待解决
HarmonyOS Object和object的区别
759浏览 • 1回复 待解决
HarmonyOS ets和ts的区别
182浏览 • 1回复 待解决
HarmonyOS 页面和组件的区别
247浏览 • 1回复 待解决
HarmonyOS PanEvent和DragEvent的区别
112浏览 • 1回复 待解决
当前HarmonyOS支持两套路由机制(Navigation和Router)。
1、NavDestination作为子页面的根容器,用于显示Navigation的内容区。NavDestination组件必须配合Navigation使用,作为Navigation目的页面的根节点。
2、使用@Entry修饰的页面,在跳转时会和Router搭配使用。
Router适用于模块间与模块内页面切换,通过每个页面的url实现模块间解耦。模块内页面跳转时,为了实现更好的转场动效场景不建议使用该模块,推荐使用Navigation。
Navigation作为后续长期演讲及推荐的路由选择方案,其与Router比较的优势如下:
易用性层面:
Navigation天然具备标题、内容、回退按钮的功能联动,开发者可以直接使用此能力。Router若要实现此能力,需要自行定义;
Navigation的页面是由组件构成,易于实现共享元素的转场。
功能层面:
Navigation天然支持一多,Router不支持;
Navigation没有路由数量限制,Router限制32个;
Navigation可以获取到路由栈NavPathStack,并对路由栈进行操作;
Navigation可以嵌套在模态对话框中,也就是说可以模态框中定义路由,Router不支持;
Navigation的组件全量由开发者自行控制,开发者可以自定义复杂的动效和属性的设置(背景、模糊等),Router的page对象不对外暴露,开发者无法对page进行处理。
性能层面
Navigation传递参数性能更优,Navigation通过引用传递,Router通过深拷贝完成;
Navigation可以配合动态加载,实现组件动态加载,Router页面使用@Entry进行修饰,当前模块加载时会生成全量页面。
推荐使用Navigation,navigation后续是会兼容router所有的能力而且比router的功能更强大,未来navigation是主流。