马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在 ArkTS(Ark UI 框架)中,路由实例模式(Standard Instance Mode)重要用于管理页面跳转。当创建一个新页面时,可以选择尺度实例模式(Standard Mode)或单实例模式(Single Mode)。
路由实例模式
- 尺度实例模式(Standard Mode)
每次跳转都会创建一个新的页面实例。
实用于 允许用户打开多个类似页面的情况。
不会复用已有的页面实例,每次跳转都会创建新的页面实例,用户返回时可以看到之前的页面状态。
- 单实例模式(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')
- }
- }
- }
复制代码 详细分析
- router.pushUrl()
url: ‘pages/PageB’ → 指定跳转的目标页面。
mode: RouterMode.Standard → 利用尺度实例模式,每次跳转都会创建新的 PageB 实例。
- 什么时间利用尺度实例模式?
实用于须要创建多个类似页面实例的场景
比方:消息详情页,每次打开差异的消息都会创建新的实例。
比方:表单页面,每次填写新表单都会创建新的实例。
单实例模式(仅创建一个页面实例)
假如渴望同一个页面只创建一个实例,可以利用 单实例模式:
- router.pushUrl({
- url: 'pages/PageB',
- mode: RouterMode.Single // 只创建一个实例
- })
复制代码 假如页面已经存在,则不会重新创建,而是直接返回已有页面。
总结
|