页面路由是指在应用程序中实现不同页面之间的跳转和数据传递
页面栈的最大容量上限为32个页面,使用router.clear()方法可以清空页面栈,释放内存
Router有两种跳转模式,分别是
router.pushUrl():目标也不会替换当前页,而是压入页面栈,因此可以使用router.back()返回当前页
touter.replaceUrl():目标页替换当前页,当前页会被销毁并释放资源,问题是无法返回当前页。
Router有两种页面实例模式,分别是
Standard:标准实例模式,每次跳转都会新建一个目标页并压入栈,默认就是这种模式
Single:单实例模式,如果目标页已经在栈中,则离栈顶最近的同url会被移动到栈顶并且重新加载
使用
1,首先要导入HarmonyOS提供的Router模块
import router from '@ohos.router'
2,利用router实现跳转。返回㩐操作
router.pushUrl(
{
url:'page/PageIndex'},//目标页面路径
params:{id:1}//专递参数
},
router.RouterMode.Single,//RouterMode枚举
err=>{//异常回调
if(err){//错误信息
console.log(‘路由跳转失败’)
}
}
)
params:any=router.getParams()
router.back()//返回上一页
router.back(
{
url:'page/Index',
params:{id:10}
}
)