当前位置: 首页> 文旅> 旅游 > 精品一卡2卡三卡4卡分类_临沂网站制作建设_网站开发步骤_关键词排名优化易下拉软件

精品一卡2卡三卡4卡分类_临沂网站制作建设_网站开发步骤_关键词排名优化易下拉软件

时间:2025/7/14 2:00:34来源:https://blog.csdn.net/H1453571548/article/details/145666403 浏览次数:2次
精品一卡2卡三卡4卡分类_临沂网站制作建设_网站开发步骤_关键词排名优化易下拉软件

在HarmonyOS开发中,如果你的项目当前使用的是router进行页面导航,并希望迁移到推荐使用的navgation模式,那么你需要了解两者之间的主要区别。

HarmonyOS推荐使用navgation机制来处理页面间的导航,因为它提供了更强大和灵活的方式来管理应用内部的页面跳转和状态管理。

步骤

1、更新依赖

确保项目依赖已经更新到最新版本。以包含最新的navgation功能支持。可能涉及到更新SDK版本或添加特定的库依赖。

2、修改配置文件

在config.json中,确认所有Abilities都正确配置了必要的信息,包括启动模式(launchType)等。

如果之前有自定义的路由配置,现在需要转换为navgation所需要的形式。

3、替换路由跳转逻辑

将原有的router.push()或类似的跳转方法替换为navgation提供的方法。

router实现方式

在发起跳转的页面(例如 FirstPage.ets)中:

在目标页面(例如 SecondPage.ets)中接收参数:

navigation 实现方式

在发起跳转的页面(例如 FirstPage.ets)中:

在目标页面(例如 SecondPage.ets)中接收参数:

 navigation 实现方式(router 不支持直接获取返回结果)

在发起跳转的页面(例如 FirstPage.ets)中:

import { NavigationService } from '@ohos.navigation';
@Entry
@Component
struct FirstPage {private navigationService = NavigationService.getInstance();private resultMessage: string = '';async handleNavigate() {try {const result = await this.navigationService.pushForResult({name: 'pages/SecondPage',params: {message: 'Hello from FirstPage!'}});this.resultMessage = result;} catch (error) {console.error('Navigation error: ' + error);}}build() {Column({ space: 50 }) {Button('Navigate to SecondPage and get result').onClick(() => {this.handleNavigate();})Text(`Received result: ${this.resultMessage}`)}.width('100%')}
}

在目标页面(例如 SecondPage.ets)中设置返回结果

import { NavigationService } from '@ohos.navigation';@Entry
@Component
struct SecondPage {private navigationService = NavigationService.getInstance();build() {Column({ space: 50 }) {Button('Go back and send result').onClick(() => {this.navigationService.setResult('Result from SecondPage');this.navigationService.pop();})}.width('100%')}
}

不完善,待更新

关键字:精品一卡2卡三卡4卡分类_临沂网站制作建设_网站开发步骤_关键词排名优化易下拉软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: