HarmonyOS 鸿蒙Next Navigation 是不是全局就一个

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Navigation 是不是全局就一个

Navigation是不是全局就一个,其他组件都是NavDestination?
 


关于HarmonyOS 鸿蒙Next Navigation 是不是全局就一个的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

12 回复
楼主,我现在跟你一样,看到官方文档中的不推荐使用router跳转页面,也陷入了深深的疑惑中,既然官方不推荐使用router做页面跳转,那干脆我就把我之前做的功能都改成Navigation,但我发现,貌似入口页面不能跳转Navigation页面,就是entryability包下面的EntryAbility.ets类,其中
windowStage.loadContent('pages/Index'

跳转时,只能使用router方式跳转,Navigation方式不行。

而且,我也觉得Navigation是不能跳转到Navigation的,只能跳转到NavDestination。如果一个包含Navigation的页面想要跳转到另外一个包含Navigation的页面,只能使用router方式跳转,但这又与官方文档中的(不推荐)三个字冲突!

做闪屏到主页的跳转用 router 

希望HarmonyOS能继续加强在安全性方面的研发,保护用户的隐私和数据安全。

封装的网络请求api.ts遇到token错误的话,怎么从跳转到登录页(不使用router的话)

使用基于页面栈 // 将栈顶页面替换为PageOne this.pageStack.replacePath({ name: “PageOne”, param: “PageOne Param” }) this.pageStack.replacePathByName(“PageOne”, “PageOne Param”)

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-navigation-navigation-V5

RouterUtil.push(‘LoginPage’) 我用你写的这个跳转失败是为什么

build() { Stack() { Navigation(RouterUtil.navPathStack) { Column() {

@Builder export function LoginPageBuilder(){ LoginPage() }

@Component export struct LoginPage {

@State message: string = ‘Login’ private username: string = ‘’ private password: string = ‘’ dialogController = new CustomDialogController({ builder: LoadingDialog(), customStyle: true, cancel: () => { promptAction.showToast({ message: ‘已取消登录’ }) } })

aboutToAppear(){ }

build() { NavDestination() { Column() {

你可以先用Navigation,然后再用router去跳转到新界面也是可以的

我之前也是用router的,现在推荐使用NavPathStack实现页面路由

可以有多个,看具体业务

从SplashPage 到 LoginPage 再到MainPage(底部是4个tab页),应该怎么用

Splash ->Login ->Main用 router

4 个 Tab 用 Navigation

回到顶部