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~

相关推荐
葡萄城技术团队3 分钟前
SpreadJS V19.2 新特性揭秘:FILTERXML 函数
前端
爱听歌的周童鞋6 分钟前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 8 | Part 5 | 值函数近似(Sarsa 和 Q-learning)
强化学习·sarsa·q-learning·value function·approximation
袋鼠云数栈UED团队1 小时前
AI Coding 方法论分析:同一个需求 SpecKit 、 Superpowers、 MattpocockSkills 不同设计
前端·aigc·ai编程
大雷神1 小时前
【共创稿事节】HarmonyOS ArkGraphics 3D实操——给智能音箱做一间材质实验室
harmonyos
掰头战士1 小时前
Prompt Cache,如果agent全靠LLM方做隐式缓存实在不够用。
前端·llm·agent
LEE1 小时前
前端转型全栈 01:数据建模,前端最大的盲区
前端·javascript·后端
货拉拉技术1 小时前
个人提效,攒不成组织提效:货拉拉 AI Coding 落地实践
前端
雪芽蓝域zzs1 小时前
第四十七节:驾驶舱大屏 ECharts 图表集成
前端·javascript·vue.js
Software攻城狮2 小时前
【React 学习方向(项目上手注意点)】
前端
林太白2 小时前
js-var和let以及const区别
前端·面试