HarmonyOS Next快速入门:页面路由

简介: 本教程面向HarmonyOS应用开发者,介绍如何使用Router模块实现页面路由功能。通过基本概念、开发指南与实例演示,详细讲解页面跳转、返回、命名路由及数据传递等核心操作。示例涵盖首页→登录→个人中心的完整流程,帮助开发者快速掌握`router.pushUrl`、`router.replaceUrl`、`router.back`和`router.clear`等API的使用方法。点击链接查看视频教程,开启HarmonyOS应用开发之旅!

[##HarmonyOS Next快速入门##HarmonyOS应用开发##教育##]

基本概念

页面路由指在应用程序中实现不同页面之间的跳转和数据传递。Router模块通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。本文将从页面跳转、页面返回、页面返回前增加一个询问框和命名路由这几个方面,介绍如何通过Router模块实现页面路由。

页面跳转是开发过程中的一个重要组成部分。在使用应用程序时,通常需要在不同的页面之间跳转,有时还需要将数据从一个页面传递到另一个页面。

开发指南

在创建项目时:

  1. 在src/main/ets/entryability目录下,会生成EntryAbility.ts
  2. 在src/main/ets/pages目录下,会生成一个Index页面。
  3. 在EntryAbility的onWindowStageCreate方法中指定了应用的入口页面。

那么,入口页面如何跳转到其他页面呢?
HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。

导入@ohos.router (页面路由)

import {
    router } from '@kit.ArkUI';

常见用法
API和说明

router.pushUrl(options: RouterOptions) //跳转到指定页面
router.replaceUrl(options: RouterOptions)    //替换当前页面
router.back(options?: RouterOptions)    //返回上一页面或指定的页面
router.clear()    //清空所有历史页面,仅保留当前页面记录。

实例演示

首页→登录→个人中心
home

import {
   router} from '@kit.ArkUI'

@Entry
@Component
struct Index {
   
  @State message: string = '首页';
  @State isLogin:boolean=true;

  build() {
   
    RelativeContainer() {
   
      Button("个人中心").onClick(()=>{
   
        if(this.isLogin){
   
          router.pushUrl({
   url:'pages/Person'})
        }else{
   
          router.pushUrl({
   url:'pages/Login'})
        }
      })

      Text(this.message)
        .id('HelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .alignRules({
   
          center: {
    anchor: '__container__', align: VerticalAlign.Center },
          middle: {
    anchor: '__container__', align: HorizontalAlign.Center }
        })
    }
    .height('100%')
    .width('100%')
  }
}

login

import {
    router } from '@kit.ArkUI';

@Entry
@Component
struct Login {
   
  @State message: string = '登录/注册';

  build() {
   
    Column({
   space:10}) {
   
      Row(){
   
        Button("返回").onClick(()=>{
   
          router.back()
        }).backgroundColor("#CCCCCC")
      }.width("100%")

      Text(this.message)
        .id('LoginHelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)

      TextInput({
   placeholder:"请输入用户名/手机号"})
      TextInput({
   placeholder:"请输入密码"}).type(InputType.Password)

      Button("提交").onClick(()=>{
   
        // router.pushUrl({url:"pages/Person"});// 首页 - 登录页 - 个人中心页 - 返回:首页
        router.replaceUrl({
   url:"pages/Person"});// 首页 -(登录页:替换成个人中心页)-返回:首页
      })
    }
    .height('100%')
    .width('100%')
  }
}

person

import {
    router } from '@kit.ArkUI';

@Entry
@Component
struct Person {
   
  @State message: string = '个人中心';

  build() {
   
    Column() {
   
      Button("返回").onClick(()=>{
   
        router.back()
      }).backgroundColor("#CCCCCC")

      Text(this.message)
        .id('PersonHelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)

      Button("清空页面历史记录").onClick(()=>{
   
        router.clear()
      })
    }
    .height('100%')
    .width('100%')
  }
}
目录
相关文章
|
2月前
|
监控 JavaScript 编译器
从“天书”到源码:HarmonyOS NEXT 崩溃堆栈解析实战指南
本文详解如何利用 hiAppEvent 监控并获取 sourcemap、debug so 等核心产物,剖析了 hstack 工具如何将混淆的 Native 与 ArkTS 堆栈还原为源码,助力开发者掌握异常分析方法,提升应用稳定性。
436 47
|
3月前
|
人工智能 API 网络架构
HarmonyOS Navigation实现导航与路由切换
HarmonyOS Navigation实现导航与路由切换
179 0
HarmonyOS Navigation实现导航与路由切换
|
6月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
|
5月前
|
移动开发 前端开发 JavaScript
鸿蒙NEXT时代你所不知道的全平台跨端框架:CMP、Kuikly、Lynx、uni-app x等
本篇基于当前各大活跃的跨端框架的现状,对比当前它们的情况和未来的可能,帮助你在选择框架时更好理解它们的特点和差异。
591 0
|
6月前
|
安全 API 开发工具
【HarmonyOS NEXT】一键扫码功能
这些Kit为我们应用开发提升了极大地效率。很多简单的功能,如果不需要太深的定制化需求,直接调用kit提供的API就可以实现,在android或者ios上需要很多代码才能实现的功能效果。
232 0
HarmonyOS NEXT仓颉开发语言实战案例:电影App
周末好!本文分享使用仓颉语言重构ArkTS实现的电影App案例,对比两者在UI布局、组件写法及语法差异。内容包括页面结构、列表分组、分类切换与电影展示等。通过代码演示仓颉在HarmonyOS开发中的应用。##仓颉##ArkTS##HarmonyOS开发
|
6月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:健身App
本期分享一个健身App首页的布局实现,顶部采用Stack容器实现重叠背景与偏移效果,列表部分使用List结合Scroll实现可滚动内容。代码结构清晰,适合学习HarmonyOS布局技巧。
|
3月前
|
存储 缓存 5G
鸿蒙 HarmonyOS NEXT端云一体化开发-云存储篇
本文介绍用户登录后获取昵称、头像的方法,包括通过云端API和AppStorage两种方式,并实现上传头像至云存储及更新用户信息。同时解决图片缓存问题,添加上传进度提示,支持自动登录判断,提升用户体验。
189 1
|
3月前
|
存储 负载均衡 数据库
鸿蒙 HarmonyOS NEXT端云一体化开发-云函数篇
本文介绍基于华为AGC的端云一体化开发流程,涵盖项目创建、云函数开通、应用配置及DevEco集成。重点讲解云函数的编写、部署、调用与传参,并涉及环境变量设置、负载均衡、重试机制与熔断策略等高阶特性,助力开发者高效构建稳定云端服务。
421 1
鸿蒙 HarmonyOS NEXT端云一体化开发-云函数篇
|
3月前
|
存储 JSON 数据建模
鸿蒙 HarmonyOS NEXT端云一体化开发-云数据库篇
云数据库采用存储区、对象类型、对象三级结构,支持灵活的数据建模与权限管理,可通过AGC平台或本地项目初始化,实现数据的增删改查及端侧高效调用。
195 1

热门文章

最新文章