鸿蒙 - 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()
        })
    }
  }
}

 

相关推荐

  1. 鸿蒙 - arkTs页面

    2023-12-23 09:00:02       58 阅读
  2. 鸿蒙跨包跳转页面-HSP页面

    2023-12-23 09:00:02       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-23 09:00:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-23 09:00:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-23 09:00:02       87 阅读
  4. Python语言-面向对象

    2023-12-23 09:00:02       96 阅读

热门阅读

  1. html实现网页添加自定义水印内容

    2023-12-23 09:00:02       69 阅读
  2. React 状态管理 - 优化你的应用程序

    2023-12-23 09:00:02       61 阅读
  3. 结构体\年月日

    2023-12-23 09:00:02       57 阅读
  4. Linux下 自定义多线程并发快速压缩解压缩脚本

    2023-12-23 09:00:02       48 阅读
  5. ChatGPT真的不火了吗?

    2023-12-23 09:00:02       71 阅读
  6. PID算法

    2023-12-23 09:00:02       75 阅读
  7. AI一叶知秋:从目标检测部署浅谈人工智能发展

    2023-12-23 09:00:02       64 阅读
  8. 基于模板匹配算法的车牌识别(Matlab代码)

    2023-12-23 09:00:02       51 阅读