首页 > 其他分享 >HarmonyOS-基础之页面跳转

HarmonyOS-基础之页面跳转

时间:2024-04-13 17:13:01浏览次数:13  
标签:Detail HarmonyOS 跳转 router pages 路由 页面

1、配置页面路由信息

resources --> base --> profile --> main_pages.json
image

{
  "src": [
    "pages/demo03/Index",
    "pages/demo03/Detail"
  ]
}

2、编写页面组件

Index.ets

/**
 * 路由跳转
 *  - 使用鸿蒙内置的router
 */
import router from '@ohos.router';


@Entry
@Component
struct Index {
  build() {
    Column() {
      Text('我是首页')
      Button('跳转到详情页面').onClick(() => {
        router.pushUrl({ url: 'pages/demo03/Detail' })
      })
    }.width('100%')
    .padding(20)
  }
}

Detail.ets

@Entry
@Component
struct Detail {
  build() {
    Column(){
      Text('我是详情页')
    }.width('100%')
    .padding(20)
  }
}

image

image

3、路由携带参数

/**
 * 路由跳转
 *  - 使用鸿蒙内置的router
 */
import router from '@ohos.router';


@Entry
@Component
struct Index {
  build() {
    Column({ space: 30 }) {
      /**
       * 注意:replace 和 push 的区别
       *   replace 直接替换路由,无法跳回
       *   push 只是覆盖一层,历史的路由信息还在,可以跳回
       */
      Text('我是首页')
      // push写法跳转页面
      Button('push 跳转到详情页面').onClick(() => {
        router.pushUrl({ url: 'pages/demo03/Detail' })
      })
      // replace写法跳转页面
      Button('replace 跳转页面').onClick(() => {
        router.replaceUrl({ url: 'pages/demo03/Detail' })
      })
      // 跳转页面携带参数
      Button('携带参数 跳转页面').onClick(() => {
        router.pushUrl({ url: 'pages/demo03/Detail', params: { id: 1 } })
      })
    }.width('100%')
    .padding(20)
  }
}

image

注意:replace 和 push 的区别

  • replace 直接替换路由,无法跳回
  • push 只是覆盖一层,历史的路由信息还在,可以跳回

标签:Detail,HarmonyOS,跳转,router,pages,路由,页面
From: https://www.cnblogs.com/ybbit/p/18133043

相关文章

  • HarmonyOS-基础之联系人案例
    使用前面学习的相关组件和api实现联系人的CRUD;效果如下父组件import{Contacts}from'../domain/Model'importContactsItemfrom'../components/ContactsItem'@Entry@ComponentstructContactsExample{//联系人数组@StatecontactsArr:Contacts[]=[......
  • 鸿蒙HarmonyOS实战-ArkUI组件(页面路由)
    ......
  • vue+element ui el-form 阻止表单输入框按回车刷新页面
    表单只有一个元素的时候,回车会触发页面刷新,加上下面这个属性可以解决这个问题@submit.native.prevent给某个el-input添加回车键监听@keyup.enter.native="onSearch"<el-form:model="filters"@submit.native.prevent><el-form-item>......
  • ABP后台管理页面AdminLTE框架,实现菜单项点击后,菜单展开当前菜单项高亮
    <style>.CurrentMenuColor{background-color:#007bff;color:#fff;}</style><script>//左侧菜单定位$(document).ready(function(){varpathname=window.location.pathname+window.location.search;......
  • 鸿蒙HarmonyOS实战-ArkUI组件(Menu)
    ......
  • 鸿蒙开发人才紧缺!这些项目帮你快速上手HarmonyOS!
    去年9月,华为宣布鸿蒙原生应用全面启动,基于开源鸿蒙开发的HarmonyOSNEXT鸿蒙星河版将在今年秋天正式和消费者见面。该版本系统底座将由华为全线自研,去掉传统安卓AOSP代码。这意味着,鸿蒙星河版将不再兼容安卓应用,京东、淘宝、得物、美团、微博、小红书等上百款应用也相......
  • HarmonyOs开发之———页签切换、组件状态管理
    谢谢关注!!前言:上一篇文章主要介绍HarmonyOs开发之———容器组件使用 http://t.csdnimg.cn/r9Qd1一、Tabs组件页签切换1、在HarmonyOS中,页签切换可以使用TabList组件来实现。TabList允许你创建多个页签,并在切换时显示不同的内容。以下是一个页签切换的示例代码:创建了一个......
  • 简单的网页登录页面
    实景图 代码1<!DOCTYPEhtml>2<html>3<head>4<metacharset="UTF-8">5<metacontent="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"name="viewport">......
  • HarmonyOS 开发-阻塞事件冒泡
    介绍本示例主要介绍在点击事件中,子组件enabled属性设置为false的时候,如何解决点击子组件模块区域会触发父组件的点击事件问题;以及触摸事件中当子组件触发触摸事件的时候,父组件如果设置触摸事件的话,如何解决父组件也会被触发的问题。效果图预览使用说明:开启使能开关,在点击事......
  • HarmonyOS 开发-二级联动
    介绍本示例主要介绍了List组件实现二级联动(CascadingList)的场景。该场景多用于短视频中拍摄风格的选择、照片编辑时的场景的选择。效果图预览blogs.com/blog/3424627/202404/3424627-20240410171735450-1800285526.png)使用说明:滑动二级列表侧控件,一级列表随之滚动。点......