鸿蒙 - arkTs: 页面路由
2023-12-22 18:34:20
页面栈最大容量为32,使用router.clear()可以清空页面栈,释放资源
跳转方式:
- router.pushUrl:目标页压入页面栈,使用router.back()可以返回上个页面。
- router.replaceUrl:目标页替换当前页,会清空页面栈,释放资源;无法返回上个页面。
实例模式:
- Standard:(默认)标准实例模式,每次跳转都会创建一个目标页压入栈顶。
- Single:单实例模式,如果目标页已经存在于栈中,则离栈顶最近的同url页面会被移动到栈顶并重新加载
使用示例:
index.ets页面代码:
import router from '@ohos.router';
@Entry
@Component
struct Index {
build() {
Column() {
Button('跳转页面')
.onClick(()=>{
// 路由跳转
router.pushUrl(
{
url: 'pages/Header', // 路由地址
params: {id: '996'} // 携带参数
},
router.RouterMode.Single,
err => {
if(err){
console.log(JSON.stringify(err))
}
}
)
})
}
}
}
Header.ets页面代码:
import router from '@ohos.router'
@Entry
@Component
struct Header {
// 接收页面参数
params: any = router.getParams()
build(){
Row() {
Text(this.params.id) // 展示参数
.fontSize(30)
Button('返回上个页面')
.onClick(()=>{
// pushUrl跳转情况下可以返回上个页面
router.back()
})
}
}
}
?
文章来源:https://blog.csdn.net/weixin_45536484/article/details/135157047
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!