ArkUI-页面路由

页面路由

定义

页面路由是指在应用程序中实现不同页面之间的跳转和数据传递

页面栈

历史访问页面会被押入页面栈中

页面栈的最大容量上限为32个页面

使用router.clear()方法可以清空页面栈,释放

Router的两种页面跳转模式

Router有两种页面跳转模式,第一种是:

router.pushUrl()

目标页不会替换当前页,而是压入页面栈。因此可以用router.back()返回当前页

而另一种是:

router.replaceUrl():

目标页替换当前页,当前页会被销毁并释放资源,无法返回当

Router的两种页面实例模式

Router有两种页面实例模式,第一种为:

Standard

标准实例模式,每次跳转都会新建一个目标页并压入栈顶。默认就是这种模式

Single

单实例模式,如果目标页已经在栈中,则离栈顶最近的同Url页面会被移动到栈顶并重新加载

页面路由的使用

1.首先要导入HarmonyOS提供的Router模块

import router from '@ohos.router';

2.然后利用router实现跳转、返回等操作

跳转

router.pushUrl(
    {
        url: '',
        params: {id:numbers}
    },
    router.RouterMode.Single,
    err => {
        if(err){
            console.log('路由失败.')
        }
    }
)
        

参数解析

url

目标页面路径

params

传递的参数(可选)

页面模式

RouterMode枚举

异常相应回调函数

错误码:

- 100001:内部错误,可能是渲染失败

- 100002:路由地址错误

- 100003:路由栈中页面超过32

返回

params: any = router.getParams()
//返回上一页
router.back()
//返回到指定页,并携带参数
router.back(
    {
        url: '',
        params: {id: numbers}
    }
)

返回时警告 

router.showAlterBeforeBackPage({
    message:string
    })

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值