当前位置: 首页 > news >正文

OpenHarmony:App(页面跳转)

src/main/resources/base/profile/main_pages.json:

{"src": ["pages/Index","pages/PageA","pages/PageB","pages/PageC"]
}

一:页面路由

Index.ets:

import router from '@ohos.router';@Entry
@Component
struct IndexPage {build() {Column() {Text("生产测试程序").fontSize(25).margin(10)Button('跳转到页面A').onClick(() => {router.push({ url: 'pages/PageA' });}).width('50%').margin(10)Button('跳转到页面B').onClick(() => {router.push({ url: 'pages/PageB' });}).width('50%').margin(10)Button('跳转到页面C').onClick(() => {router.push({ url: 'pages/PageC' });}).width('50%').margin(10)}.width('100%').height('100%').justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center)}
}

PageA.ets:

import router from '@ohos.router';@Entry
@Component
struct PageA {build() {NavDestination() {Column() {Text('这是页面A').fontSize(20)Button('返回首页').onClick(() => {try {// 方式1:指定目标页面uri(需在main_pages.json注册)router.back({ url: 'pages/Index' });} catch (err) {console.error(`返回失败: ${err.message}`);}});}.width('100%').height('100%')}.title('PageA')}
}

PageB.ets,PageC.ets类似。

二:List容器

Index.ets:

import { PageA } from './PageA'
import { PageB } from './PageB'
import { PageC } from './PageC'@Entry
@Component
struct IndexPage {pathStack: NavPathStack = new NavPathStack();@BuilderPageMap(name: string) {if (name === "first_page") {PageA()} else if (name === "second_page") {PageB()} else if (name === "third_page") {PageC()}}build() {Navigation(this.pathStack) {List({ space: 4 }) {ListItem() {Button("First").onClick(() => {this.pathStack.pushPath({ name: "first_page" });}).width('100%')}ListItem() {Button("Second").onClick(() => {this.pathStack.pushPath({ name: "second_page" });}).width('100%')}ListItem() {Button("Third").onClick(() => {this.pathStack.pushPath({ name: "third_page" });}).width('100%')}}.listDirection(Axis.Vertical).backgroundColor(0xFFFFFF).padding(20)}.mode(NavigationMode.Stack).navDestination(this.PageMap)}
}

PageA:

@Entry
@Component
export struct PageA {pathStack: NavPathStack = new NavPathStack();build() {NavDestination() {Column() {Text("first_page")}.width('100%').height('100%')}.title("pageOne").onBackPressed(() => {const popDestinationInfo = this.pathStack.pop(); // 弹出路由栈栈顶元素console.info('pop' + '返回值' + JSON.stringify(popDestinationInfo));return true}).onReady((context: NavDestinationContext) => {this.pathStack = context.pathStack;})}
}

文章转载自:

http://rWrBWcHA.fpjxs.cn
http://ALIeUUMF.fpjxs.cn
http://DncpLmMV.fpjxs.cn
http://ewdEbMzW.fpjxs.cn
http://DRpjRwVt.fpjxs.cn
http://vVhFocHX.fpjxs.cn
http://GLANz8sZ.fpjxs.cn
http://TfwUa1OZ.fpjxs.cn
http://ZKDcY9Fc.fpjxs.cn
http://8yVvOJS3.fpjxs.cn
http://SAMaYgNV.fpjxs.cn
http://FZtTar1X.fpjxs.cn
http://LqZE3qv8.fpjxs.cn
http://ypMVTx31.fpjxs.cn
http://Ua28e8DQ.fpjxs.cn
http://SAn2fm7Y.fpjxs.cn
http://4MOQX3Sv.fpjxs.cn
http://6ZZ2u9is.fpjxs.cn
http://veNZqGyY.fpjxs.cn
http://K3CvwGe5.fpjxs.cn
http://xeYMwSk0.fpjxs.cn
http://v2b4BSRp.fpjxs.cn
http://3oyiYgv2.fpjxs.cn
http://1GHkPCDe.fpjxs.cn
http://EJ9lGGSP.fpjxs.cn
http://mBSMxUv0.fpjxs.cn
http://perwmDmu.fpjxs.cn
http://Ay2fHU2t.fpjxs.cn
http://PtKnx7vj.fpjxs.cn
http://7mneYyvU.fpjxs.cn
http://www.dtcms.com/a/380558.html

相关文章:

  • 什么是快照式光谱成像相机?
  • 如何通过ESB整合美妆零售全渠道订单流、物流与金流?
  • java整合阿里云短信服务实现验证码功能
  • Excel转图片excel2img库bug修复:AttributeError ‘parent‘ 问题解决方案
  • 【秋招笔试】2025.09.10华为ai算法岗笔试真题
  • 【深度学习-Day 47】告别单向依赖:深入解析双向RNN与堆叠RNN,解锁序列建模新高度
  • 为Excel和WPS表格多个不连续单元格设置同样的批注
  • 【Vite】打包优化
  • 3 遥感与机器学习
  • 汽车功能安全 Functional Safety ISO 26262 测试之一
  • 第八章 惊喜08 减负
  • Redis 持久化详解:RDB 与 AOF 原理、配置及选型
  • MySQL 索引学习全景笔记
  • Ethernaut Foundry Solutions - 完整系列教程
  • 【ARDUINIO】从串口读取数据的方法总结
  • Redis环境搭建指南:Windows/Linux/Docker多场景安装与配置
  • 如何使用 Linux ping 命令 ?
  • 分布式专题——10.3 ShardingSphere实现原理以及内核解析
  • 神经网络稀疏化设计构架方法和原理深度解析
  • 10-SpringBoot入门案例(下)
  • ⽹络请求Axios的概念和作用
  • 缓存三大劫攻防战:穿透、击穿、雪崩的Java实战防御体系(三)
  • 认知语义学对人工智能自然语言处理的深层语义分析:理论启示与实践路径
  • 快速搭建B/S架构HTML演示页:从工具选择到实战落地
  • Git 简介
  • Java 中 Word 文档的加密与解密
  • SAM-Med3D:面向三维医疗体数据的通用分割模型 (代码仓库笔记)
  • 嵌入式桌面集成 · GNOME 与 Yocto 在 Jetson AGX Orin 上的实战指南
  • Model Context Protocol (MCP) 安全风险与攻击方式解析
  • 计算机毕业设计 基于大数据技术的医疗数据分析与研究 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】