路由
与
vue的router路由有点相似
- 页面栈上限最多支持32 个页面,可以通过
router.clear()方法可以清空页面栈来释放内存
跳转方式
Router有两种跳转方式:
router.pushUrl和uniapp的uni.navigateTo相似,router.ReplaceUrl和uni.redirectTo相似
- router.pushUrl():目标页不会替换当前页,而是压入页面栈,因此可以用- router back()返回当前页
- router.ReplaceUrl():目标页会替换当前页,当前页会被销毁并释放资源,无法返回当前页
示例模式
- Standard:标准实例模式,每次调整都会新建一个目标页并压入栈顶。默认就是这种模式
- Single:单实例模式,如果目标页已经在栈中,则离栈顶最近的同Url页面会被移动到栈顶并重新加载
使用
- 导入router模块
            
            
              c
              
              
            
          
          import router from '@ohos.router';- 使用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~