前端知识点---路由模式-实例模式和单例模式(ts)

ops/2025/3/13 12:53:55/

在 ArkTS(Ark UI 框架)中,路由实例模式(Standard Instance Mode)主要用于管理页面跳转。当创建一个新页面时,可以选择标准实例模式(Standard Mode)或单实例模式(Single Mode)。

路由实例模式

  1. 标准实例模式(Standard Mode)
    每次跳转都会创建一个新的页面实例。
    适用于 允许用户打开多个相同页面的情况。
    不会复用已有的页面实例,每次跳转都会创建新的页面实例,用户返回时可以看到之前的页面状态。

  2. 单实例模式(Singleton Mode)
    相同的页面始终只有一个实例,不会创建多个副本。
    适用于 同一个页面不需要重复创建的情况,比如 设置页面。
    如何在 ArkTS 中创建一个新页面(标准实例模式)
    使用 router.pushUrl() 进行页面跳转时,默认采用 标准实例模式。

示例:创建并跳转到新页面
步骤 1:创建 PageA 页面

@Entry
@Component
struct PageA {build() {Column() {Text('这是 PageA')Button('跳转到 PageB').onClick(() => {router.pushUrl({url: 'pages/PageB',  // 指定要跳转的页面路径mode: RouterMode.Standard  // 使用标准实例模式})})}}
}

步骤 2:创建 PageB 页面

@Entry
@Component
struct PageB {build() {Column() {Text('这是 PageB')}}
}

详细解析

  1. router.pushUrl()
    url: ‘pages/PageB’ → 指定跳转的目标页面。
    mode: RouterMode.Standard → 使用标准实例模式,每次跳转都会创建新的 PageB 实例。

  2. 什么时候使用标准实例模式?
    适用于需要创建多个相同页面实例的场景
    例如:新闻详情页,每次打开不同的新闻都会创建新的实例。
    例如:表单页面,每次填写新表单都会创建新的实例。
    单实例模式(仅创建一个页面实例)
    如果希望同一个页面只创建一个实例,可以使用 单实例模式:

router.pushUrl({url: 'pages/PageB',mode: RouterMode.Single  // 只创建一个实例
})

如果页面已经存在,则不会重新创建,而是直接返回已有页面。

总结
在这里插入图片描述


http://www.ppmy.cn/ops/165422.html

相关文章

kettle ETL 配置

pdi-ce-9.1.0.0-324 配置-CSDN博客 3、配置中文字符 3.1) spoon支持中文字符, spoon.bat启动文件加 -Dfile.encodingutf-8 REM %SPOON_START_OPTION% "%_PENTAHO_JAVA%" %JAVA_ADD_OPENS% %OPT% -jar launcher\launcher.jar -lib ..\%LIBSPAT…

python:“魔法“方法

"魔法"方法 Python 中的魔法方法(Magic Methods) 是以双下划线开头和结尾的特殊方法(例如 __init__, __str__),用于定义类的特定行为(如运算符重载、迭代、上下文管理等)。 在 pytho…

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_02带边框和斑马纹的固定表头表格

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

Python从基础开发到前沿技术完整生态(应用技术栈)(2025版)

Python作为一门通用编程语言,应用领域极其广泛,以下是其核心应用场景及对应的工具组合,涵盖从基础开发到前沿技术的完整生态: 一、Web全栈开发 场景案例:构建高并发电商平台(用户系统商品推荐支付接口&…

2021-05-28 C++自己写一个strcmp函数

规则 当s1<s2时&#xff0c;返回为负数-1&#xff1b; 当s1s2时&#xff0c;返回值 0&#xff1b; 当s1>s2时&#xff0c;返回正数1。 即&#xff1a;两个字符串自左向右逐个字符相比&#xff08;按ASCII值大小相比较&#xff09;&#xff0c;直到出现不同的字符或遇…

二级Python通关秘籍:字符串操作符/函数/方法全解析与实战演练

第一章 字符串基础概念与运算符速通 1.1 字符串的不可变性特性 在Python中&#xff0c;字符串被设计为immutable类型&#xff0c;任何修改操作都会生成新对象。这一特性直接影响字符串拼接的性能表现&#xff0c;建议使用join()方法代替多次操作。 1.2 基础操作符全掌握 pyt…

Spring Boot 接口延迟响应的实现与应用场景

文章目录 学习文章&#xff1a;Spring Boot 接口延迟响应的实现与应用场景 一、Spring Boot 接口延迟响应的实现1. 创建Spring Boot项目2. 编写控制器3. 运行项目 二、延迟响应的应用场景1. 测试超时处理2. 模拟网络延迟3. 调试异步任务4. 性能测试 三、注意事项1. 性能影响2. …

[高阶技术了解]WebRPC详解

“webrpc详解”&#xff0c;我需要根据我搜索到的资料来回答这个问题。首先&#xff0c;得弄清楚webrpc到底是什么。根据&#xff0c;Webrpc是一个模式驱动的后端服务开发工具&#xff0c;允许通过RIDL或JSON模式文件生成代码&#xff0c;支持多种语言如Go、TypeScript等。它类…