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~

相关推荐
Hexene...6 分钟前
【前端Vue】npm install时根据新的状态重新引入实际用到的包,不引入未使用到的
前端·vue.js·npm
小雨下雨的雨8 分钟前
HarmonyOS 应用开发实战:高精图像处理与头像裁剪持久化技术深度解析
图像处理·人工智能·华为·ai·交互·harmonyos·鸿蒙系统
2301_7806698612 分钟前
Vue(入门配置、常用指令)、Ajax、Axios
前端·vue.js·ajax·javaweb
码农幻想梦12 分钟前
Vue3入门到实战【尚硅谷】
前端·vue
hudou_k14 分钟前
利用WebNaket实现Web应用直接访问硬件设备
前端
吃茄子的猫14 分钟前
若依框架根据当前登录人信息,显示不同的静态公司logo
前端·vue
LZQ <=小氣鬼=>23 分钟前
React + Ant Design (antd) 国际化完整实战教程
前端·react.js·前端框架·antd·moment
讯方洋哥24 分钟前
HarmonyOS App开发——职前通应用App开发(上)
华为·harmonyos
星海拾遗26 分钟前
react源码从入门到入定
前端·javascript·react.js
Charlie_lll29 分钟前
学习Three.js–星环粒子(ShaderMaterial)
前端·three.js