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

路由

与vue的router路由有点相似

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

跳转方式

Router有两种跳转方式:router.pushUrl和uniapp的uni.navigateTo相似,router.ReplaceUrl和uni.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~

相关推荐
徐小夕3 分钟前
扒了JitWord的源码,我终于搞懂了企业级在线Word到底有多难写
前端·vue.js·github
lily5227833 分钟前
工具池与分发
前端·chrome
2601_9494800623 分钟前
开源鸿蒙平台 KMP 三方库「kasechange」适配全流程
华为·开源·harmonyos
马剑威(威哥爱编程)25 分钟前
【HarmonyOS 7 小艺智能体实战】09:上架前先把“关”过一遍——合规自查与素材准备
人工智能·华为·harmonyos
徐小夕@趣谈前端39 分钟前
老旧Word格式全支持!JitWord协同AI文档4.1,让Word文档无缝迁移到Web端
前端·人工智能·word
螺丝钉tina44 分钟前
[Playwright][01] 从 Puppeteer 到 Playwright:为什么选择 Playwright + TypeScript?
前端·javascript·typescript
resh_people44 分钟前
开源鸿蒙平台 CMP 三方库「table」适配全流程
华为·开源·harmonyos
Sailing1 小时前
🚀🚀【封闭结束6】Agent 会话服务与鉴权上下文
前端·人工智能·agent
●VON1 小时前
芯逻辑:面向 HarmonyOS PC 的图形化编程工作台
华为·harmonyos·鸿蒙·鸿蒙pc
hhhjhl1 小时前
开源鸿蒙平台 CMP 三方库「compose-macos-26-ui」适配全流程
macos·开源·harmonyos