HarmonyOS鸿蒙Next中navigation默认显示页面怎么处理?
常见的企业应用,如果没有登录,显示登录页,登录后显示主页,如果是登录的话,直接显示主页,
如果从登录页登录完成后跳转到主页,这时候主页可以返回到登录页,如果在主页,点击退出登录,又该怎么处理?
现在navigation主键自带一个内容,而且无法通过路由栈清理
感觉还不如router,但是又说不推荐,新的组件功能又不满足
5 回复
在aboutToAppear里判断不行吗,或者登录和主页共用一个navigation,
更多关于HarmonyOS鸿蒙Next中navigation默认显示页面怎么处理?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我又试了HMRouter,还有bug,不能自动import
ide:Build Version: 5.0.11.100, built on March 28, 2025
这个再按一次返回退出功能,要返回4次才可以
@HMLifecycle({
lifecycleName: 'ExitAppLifecycle'
})
export class ExitAppLifecycle implements IHMLifecycle {
lastTime: number = 0;
onShown(ctx: HMLifecycleContext): void {
console.log('show HMLifecycleContext')
this.lastTime = 0;
}
onBackPressed(ctx: HMLifecycleContext): boolean {
let time = new Date().getTime();
if (time - this.lastTime > 1000) {
this.lastTime = time;
ctx.uiContext.getPromptAction().showToast({
message: '再次返回退出应用',
duration: 1000,
});
console.log("HMLifecycleContext onBackPressed true")
return true;
} else {
console.log("HMLifecycleContext onBackPressed false")
return false;
}
}
}
我觉得也是,还不如router呢,
你也遇到这样的问题了吗?
在HarmonyOS鸿蒙Next中,默认显示页面可以通过在navigation
组件的index
属性中设置初始页面的索引值来实现。例如,若pages
数组中有多个页面,设置index
为0则默认显示第一个页面。确保pages
数组中的页面顺序与index
值对应,以实现正确的默认页面显示。