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~

相关推荐
fengxinzi_zack2 小时前
HarmonyOS应用开发实战:萌宠日记 - 健康分类数据隔离
harmonyos·鸿蒙
GuWenyue3 小时前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架
原则猫4 小时前
函数/变量提升
前端
独泪了无痕4 小时前
Vue3 Hooks使用实战解析
前端·vue.js
shawxlee6 小时前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
不言鹅喻6 小时前
HarmonyOS ArkTS 实战:实现一个校园考试安排与考场查询应用
华为·harmonyos
用户059540174466 小时前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹6 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen6 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱6 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端