HarmonyOS4.0开发应用(五)【页面路由】

路由

vue的router路由有点相似

  • 页面栈上限最多支持32 个页面,可以通过router.clear()方法可以清空页面栈来释放内存

跳转方式

Router有两种跳转方式:router.pushUrl和uniapp的uni.navigateTo相似,router.ReplaceUrluni.redirectTo相似

  • router.pushUrl():目标页不会替换当前页,而是压入页面栈,因此可以用router back()返回当前页
  • router.ReplaceUrl():目标页会替换当前页,当前页会被销毁并释放资源,无法返回当前页

示例模式

  • Standard:标准实例模式,每次调整都会新建一个目标页并压入栈顶。默认就是这种模式
  • Single :单实例模式,如果目标页已经在栈中,则离栈顶最近的同Url页面会被移动到栈顶并重新加载

使用

  1. 导入router模块
c 复制代码
import router from '@ohos.router';
  1. 使用API
c 复制代码
router.pushUrl(
{
	url:'pages/testPage',
	params:{msg:'传参'}
},
router.RouterMode.Single,
err=>{
	if(err){
		//跳转错误...
	}
}
)

tip:路由记得需要配置

c 复制代码
//需要在base/main_pages.json配置
{
	"src":[
		"page/Index",
		"page/testPage"
	]
}
  • 拓展

二次退出确认API如下

c 复制代码
router.showAlertBeforeBackPage({message:'内容未保存,是否继续退出?'})
//返回
router.back()

以上是路由的基本使用,over~

相关推荐
●VON31 分钟前
鸿蒙 PC Markdown 编辑器内核:在 ArkWeb 中离线运行 CodeMirror 6
安全·华为·编辑器·harmonyos·鸿蒙
YM52e2 小时前
鸿蒙Flutter Padding内边距:EdgeInsets详解
android·学习·flutter·华为·harmonyos·鸿蒙
爱写代码的阿木3 小时前
基于鸿蒙OS开发附近社交游戏平台(二十二)-ChatPage 即时通讯 UI
游戏·华为·harmonyos
红烧大青虫4 小时前
HarmonyOS应用开发实战:小事记 - 数据迁移策略:RDB 表结构变更的版本号管理与 onUpgrade 回调
后端·华为·harmonyos·鸿蒙系统
777VG4 小时前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
qizayaoshuap5 小时前
# 温度转换 — HarmonyOS 双向转换器与表情符号天气描述实战
华为·harmonyos
mayaairi5 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC5 小时前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
阳光是sunny6 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
爱写代码的阿木6 小时前
基于鸿蒙OS开发附近社交游戏平台(二十三)-拉黑系统、屏蔽与全局过滤
游戏·华为·harmonyos