鸿蒙 - arkTs: 页面路由

页面栈最大容量为32,使用router.clear()可以清空页面栈,释放资源

跳转方式:

  1. router.pushUrl:目标页压入页面栈,使用router.back()可以返回上个页面。
  2. router.replaceUrl:目标页替换当前页,会清空页面栈,释放资源;无法返回上个页面。

实例模式:

  1. Standard:(默认)标准实例模式,每次跳转都会创建一个目标页压入栈顶。
  2. Single:单实例模式,如果目标页已经存在于栈中,则离栈顶最近的同url页面会被移动到栈顶并重新加载

使用示例:

index.ets页面代码:

复制代码
import router from '@ohos.router';

@Entry
@Component
struct Index {
  build() {
    Column() {
      Button('跳转页面')
        .onClick(()=>{
          // 路由跳转
          router.pushUrl(
            {
            url: 'pages/Header', // 路由地址
            params: {id: '996'} // 携带参数
          },
            router.RouterMode.Single,
            err => {
              if(err){
                console.log(JSON.stringify(err))
              }
            }
          )
        })
    }
  }
}

Header.ets页面代码:

复制代码
import router from '@ohos.router'

@Entry
@Component
struct Header {
  // 接收页面参数
  params: any = router.getParams()

  build(){
    Row() {
      Text(this.params.id) // 展示参数
        .fontSize(30)
      Button('返回上个页面')
        .onClick(()=>{
          // pushUrl跳转情况下可以返回上个页面
          router.back()
        })
    }
  }
}
相关推荐
木斯佳6 小时前
HarmonyOS 6实战:从爆款vlog探究鸿蒙智能体提取关键帧算法
算法·华为·harmonyos
天意__6 小时前
鸿蒙(ArkTS)与Flutter(Dart)开发语法全面对比
flutter·华为·harmonyos·arkts·dart·arkui
vistaup7 小时前
DevEco Studio 鸿蒙 HAR本地引入相互依赖问题解决
android·华为·harmonyos
fei_sun7 小时前
【鸿蒙智能硬件】(二)Windows开发环境
华为·harmonyos
前端不太难8 小时前
AI 时代,鸿蒙 App 还需要传统导航结构吗?
人工智能·状态模式·harmonyos
前端技术8 小时前
【鸿蒙实战】从零打造智能物联网家居控制系统:HarmonyOS Next分布式能力的完美诠释
java·前端·人工智能·分布式·物联网·前端框架·harmonyos
前端不太难8 小时前
Flutter / iOS 迁移鸿蒙 ArkUI 的真实成本
flutter·ios·harmonyos
HMS Core8 小时前
【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit
华为·harmonyos
sbjdhjd9 小时前
RHCE | Linux 例行性工作(定时任务)从入门到精通
linux·运维·服务器·华为·云计算
m0_685535089 小时前
‌汽车灯具光学设计规范详解
华为·光学·光学设计·光学工程·镜头设计