鸿蒙的页面栈最大数量为32
使用 router.clear() 方法可以清空页面栈,释放内存
Router 有两种页面跳转模式 分别是:
1,router.pushUrl():目标不会替换当前页面,而是压入页面栈,因此可以用router.back()返回当前页面
2,router.replaceUrl():目标页会替换当前页,当前页会被销毁并释放资源,无法返回当前页。
Router 有两种页面模式,分别是:
1,Standard:标准实例模式,每次跳转都会新建一个目标页并压入栈顶。默认就是这种模式
2,Single:单实例模式,如果目标页已经在栈中,则离暂定最近的同Url页面会被移动到暂定并重新加载
Router跳转流程
1,导入HarmonyOS提供的Router模块:
import router from '@ohos.router'
2,然后利用router 实现跳转、返回等操作:
Button("任务列表")
.onClick(() => {
router.pushUrl({ url: "pages/ProPage",
params: { id: 1 }
},
router.RouterMode.Single,
err => {
if (err) {
console.log("路由失败")
}
})
})
返回上一页
pages里面创建了页面之后一定要去main_pages里面注册一下不然跳转会没有反应
源码: https://gitee.com/zhao_dong_liang/os_study