鸿蒙 - 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()
        })
    }
  }
}
相关推荐
贾伟康15 小时前
HarmonyOS API 26 HMAF Skill 可解释任务计划与失败回退
harmonyos·arkts·智能体·skill·hmaf
贾伟康15 小时前
HarmonyOS API 26 HMAF 2.0 意图解析的可解释动作图
harmonyos·arkts·智能体·a2a·hmaf
KevinChaos17 小时前
阳台小花园开发手记 03|HarmonyOS 7.0 互动卡片:叶片伸出边框仍与花盆对齐
华为·harmonyos
熬夜磕代码丶18 小时前
RN鸿蒙空间音频实战
华为·音视频·harmonyos
行者-全栈开发18 小时前
【鸿蒙心迹】通知与推送集成——emitter 本地通知与推送服务全链路(HarmonyOS 7.x)
华为·harmonyos
Nerd(BUG版)19 小时前
鸿蒙API18~26新增V2组件全解析
microsoft·华为·harmonyos
贾伟康19 小时前
HarmonyOS API 26 Navigation 菜单项刷新态:stale 数据、重试与一致性
harmonyos·arkts·arkui·navigation·多设备
Felven19 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
c2892480843s1 天前
【鸿蒙心迹】网络请求封装实战:RCP 选型、拦截器与弱网预算
移动开发·网络请求·harmonyos·鸿蒙·rcp
HarmonyOS_SDK1 天前
【剪贴板体验优化】前置预校验,航旅纵横权限弹窗体验更智能
harmonyos