当前位置: 首页 > article >正文

【HarmonyOS 4.0】@ohos.router 页面路由

  1. 注册页面,在src/main/resources/base/profile/main_pages.json文件新增配置。
{
 "src": [
   "pages/Index",
   "pages/AnimateTo"
 ]
}
  1. 导入 router 模块
import router from '@ohos.router'

1. router.pushUrl

  1. 跳转到应用内的指定页面
  2. 会将当前页面压入历史页面栈,因此使用该方法跳转到目标页面之后,还可以再返回。
  3. router.pushUrl(options: RouterOptions1): Promise
  4. router.pushUrl(options: RouterOptions, mode: RouterMode2): Promise

2. router.replaceUrl

  1. 用应用内的某个页面替换当前页面,并销毁被替换的页面。不支持设置页面转场动效,如需设置,推荐使用Navigation组件。
  2. 会直接销毁当前页面并释放资源,用目标页替换当前页,因此使用该方法跳转到目标页面之后,不能返回。
  3. router.replaceUrl(options: RouterOptions1): Promise
  4. router.replaceUrl(options: RouterOptions, mode: RouterMode2): Promise

3. router.back

  1. 返回上一页面或指定的页面。
  2. 若上一个页面如果是 router.replaceUrl() 跳转到当前页面的,则 router.back() 不能返回。
  3. 若指定的页面不在历史页面栈中,也就是用户并未浏览过指定页面,那么将无法回到指定页面。
  4. router.back(options?: RouterOptions1 ): void

4. router.getParams

  1. 获取发起跳转的页面往当前页传入的参数。
  2. router.getParams(): Object
onPageShow(): void { // 页面每次显示时触发。使用 aboutToAppear 页面没反应。
  let record = router.getParams() as Record<string, string>
  if (record) {
    this.id = record['id']
  }
}

5. router.clear

  1. 清空页面栈中的所有历史页面,仅保留当前页面作为栈顶页面。
  2. router.clear(): void

6. router.getLength

  1. 获取当前在页面栈内的页面数量。
  2. router.getLength(): string

7. router.getState

  1. 获取当前页面的状态信息。
  2. router.getState(): RouterState3

8. router.showAlertBeforeBackPage

  1. 开启页面返回询问对话框。
  2. router.showAlertBeforeBackPage(options: EnableAlertOptions4): void

9. router.hideAlertBeforeBackPage

  1. 禁用页面返回询问对话框。
  2. router.hideAlertBeforeBackPage(): void

  1. RouterOptions 路由跳转选项。
    { url: string, params?: object } ↩︎ ↩︎ ↩︎

  2. RouterMode 路由跳转模式。
    2.1 router.RouterMode.Standard:多实例模式,也是默认情况下的跳转模式。目标页面会被添加到页面栈顶,无论栈中是否存在相同url的页面。
    2.2 router.RouterMode.Single:单实例模式。如果目标页面的url已经存在于页面栈中,则该url页面移动到栈顶。如果目标页面的url在页面栈中不存在同url页面,则按照默认的多实例模式进行跳转。 ↩︎ ↩︎

  3. RouterState 页面状态信息。
    3.1 index: number:表示当前页面在页面栈中的索引。从栈底到栈顶,index从1开始递增。
    3.2 name: string:表示当前页面的名称,即对应文件名。
    3.3 path: string:表示当前页面的路径。 ↩︎

  4. EnableAlertOptions 页面返回询问对话框选项。
    { message: string } 询问对话框内容 ↩︎


http://www.kler.cn/news/284876.html

相关文章:

  • ★ 算法OJ题 ★ 力扣11 - 盛水最多的容器
  • sqlite3 数据插入效率
  • YOLOv8改进 | 模块缝合 | C2f融合卷积重参数化OREPA【CVPR2022】
  • Having trouble using OpenAI API
  • 回归预测|基于鹅GOOSE优化LightGBM的数据回归预测Matlab程序 多特征输入单输出 2024年优化算法
  • vue3本地运行错误集
  • 5.3 MySql实战
  • Xilinx FPGA在线升级——升级思路
  • 鸿蒙开发5.0【基于Swiper的页面布局】
  • LeetCode 热题100-9 找到字符串中所有字母异位词
  • vscode 未定义标识符 “uint16_t“C/C++(20) 但是可以顺利编译
  • Java算法—插入排序(Insertion Sort)
  • 一种导出PPT到MP4的方法
  • 大数据测试怎么做,数据应用测试、数据平台测试、数据仓库测试
  • ​T​P​一​面​
  • 系统编程-消息队列
  • 力扣2116.判断一个括号字符串是否有效
  • Qt_信号槽机制
  • 计算机网络概述(网络结构)
  • MYSQL——聚合查询
  • B树及其Java实现详解
  • 续:MySQL的半同步模式
  • APO 新发版支持Skywalking Agent接入
  • unity的问题记录(信息管理)
  • 【Java设计模式】责任链模式:构建强大的请求处理机制
  • 技术成神之路:设计模式(十二)模板方法模式
  • SQL存储过程:数据库编程的瑞士军刀
  • Java中的注解(Annotation)
  • 谷粒商城实战笔记-269~271-商城业务-订单服务-bug修改
  • Python3遍历文件夹下的文件