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

server/2024/12/22 2:10:06/
  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.ppmy.cn/server/109580.html

相关文章

使用LinkedHashMap实现固定大小的LRU缓存

使用LinkedHashMap实现固定大小的LRU缓存 1. 什么是LRU&#xff1f; LRU是"Least Recently Used"的缩写&#xff0c;意为"最近最少使用"。LRU缓存是一种常用的缓存淘汰算法&#xff0c;它的核心思想是&#xff1a;当缓存满时&#xff0c;优先淘汰最近最少…

【Vue】Echart渲染数据时页面不显示内容

背景 做的一个对话交互的功能&#xff0c;根据后台返回的数据&#xff0c;渲染成Echart图表展示因为图表种类多&#xff0c;因此根据不同图表单独做了一个个vue组件&#xff0c;将数据根据展示类型传到这些子组件中进行渲染无论哪种图表&#xff0c;第一次展示时都能正常展示&…

SQL 快速参考

SQL 快速参考 引言 SQL(Structured Query Language)是一种用于管理关系数据库管理系统(RDBMS)的标准编程语言。它被广泛用于数据查询、数据更新、数据库维护和访问控制。本快速参考旨在提供SQL的基本概念和常用命令的概览,帮助读者快速理解和应用SQL。 基础概念 数据库…

Sentinel熔断与限流

一、服务雪崩与解决方案 1.1、服务雪崩问题 一句话&#xff1a;微服务之间相互调用&#xff0c;因为调用链中的一个服务故障&#xff0c;引起整个链路都无法访问的情况。 微服务中&#xff0c;服务间调用关系错综复杂&#xff0c;一个微服务往往依赖于多个其它微服务。 如图…

什么是反应诱导重构

反应诱导重构&#xff08;Reaction-Induced Phase Transformation&#xff0c;RIPT&#xff09;是一种材料科学中的现象&#xff0c;指的是在特定的反应过程中&#xff0c;材料的晶体结构或相发生了重构或转变。这种现象广泛应用于催化、材料合成和功能材料的研究中。下面是对反…

8种数据结构

目录 前言 什么是数据结构&#xff1f; 常见的数据结构&#xff1a; 1、数组 2、栈 3、队列 4、链表 5、树 6、散列表 7、堆 8、图 前言 美国心理学家曾提出过一个六度分离理论。它指的是“你和任何一个陌生人之间所间隔的人不会超过五个&#xff0c;也就是说&…

Mac M1 Max配置torch-geometric等深度学习库

前提&#xff1a;此电脑中已经安装好了Anaconda环境 &#xff08;一&#xff09;查看创建的虚拟环境中torch的版本 import torch torch.__version__&#xff08;二&#xff09;针对安装的 torch 版本&#xff0c;去官网下载torch-geometric 依赖的对应版本 torch-sparse、tor…

使用sass的混合插入模式进行@media响应式媒体查询做自适应开发

使用sass的混合插入模式进行media响应式媒体查询做自适应开发 // 定义混合指令并传参数 mixin respond($breakname) {//控制指令if $breakname phone {//手机端 <480media (max-width: 480px) {//向混合样式中导入内容content;}} else if $breakname ipad {//ipad端 481&a…