#鸿蒙通关秘籍#如何在组件中阻止页面路由?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
EPC晨曦微露

Router没有提供原生的路由拦截,需要自行包装跳转接口,并在自定义接口中进行条件判断。

Navigation通过setInterception方法设置页面跳转拦截校验:

bash @Entry @Component struct Index { pathStack: NavPathStack = new NavPathStack()

build() { Navigation(this.pathStack) { Column() { Button('Push PageOne') .onClick(() => { this.pathStack.pushPath({ name: 'pageOne' }) }) }.width('100%').height('100%') } .title("Navigation") .mode(NavigationMode.Stack) .setInterception((from, to, callback) => { // 执行自定义判断逻辑 if (/* 条件成立 */) { callback.go(); } else { callback.cancel(); } }) } }

分享
微博
QQ
微信
回复
2天前
相关问题