HarmonyOS 鸿蒙Next <HarmonyOS第一课>应用程序框架学习代码未实现预期效果

HarmonyOS 鸿蒙Next <HarmonyOS第一课>应用程序框架学习代码未实现预期效果 在学习“<HarmonyOS第一课>应用程序框架”时,参考课件编写了示例代码,能够从Index跳转到Second页面,msg也可以传到Second页面,但在Second页面点击Back按钮回不到Index页面(没有启动模拟器)

补充:在模拟器下是可以返回的,只是在IDE下不能返回。我的电脑10年前买的MAC专业版,X86,启动模拟器都要启动好久。

Index代码:

import router from '@ohos.router';
let msg: string = 'Index页面传来的数据';
@Entry
@Componentstruct
class Index {
  @State message: string = 'Index Page';
  build() {
    Row() {
      Column() {
        Text(this.message)
        Blank()
        Button('Next')
          .onClick(() => {
            router.pushUrl({
              url: 'pages/Second',
              params: {
                src: msg,
              }
            })
          })
      }
      .width('100%').height(140)
    }
    .height('100%').backgroundColor(0xF1F3F5)
  }
}

Second代码:

import router from '@ohos.router';
@Entry
@Componentstruct
class Second {
  @State message: string = 'Second Page';
  @State src: string = router.getParams()?.['src'];
  build() {
    Row() {
      Column() {
        Text(this.message)
        Text(this.src)
        Blank()
        Button('返回')
          .onClick(() => {
            router.back()
            // 改成这样也跳不回Index页面:router.back({url:'pages/Index'})
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next <HarmonyOS第一课>应用程序框架学习代码未实现预期效果的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

是不是你创建页面的问题,你检查一下resources -> base -> profile 下的main_pages.json文件里,有没有两个页面配置。

{
  "src": [
    "pages/Index",
    "pages/Second"
  ]
}

更多关于HarmonyOS 鸿蒙Next <HarmonyOS第一课>应用程序框架学习代码未实现预期效果的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


检查了,在创建page时自动加上了的,

前几天学的时候遇到了,结果是在预览器直接打开SECEOND页,是不能返回的。

我不知道是不是因为我电脑配置太低导致的,但是又觉得不应该。
在模拟器里是可以返回的,不过我电脑启动模拟器时要很久、也很卡,

我也是在预览器里不能返回,在模拟器里可以。

难道以后这种跨页面的调试都得起模拟器?

不是那个意思

router push是压入堆栈,你直接打开SECOND,堆栈里没有first页。从模拟器里是先打开first,再进入second,堆栈里有first。

预览器就是个页面快速预览。

你的代码我复制了,可以正常返回的

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

我是在IDE里运行的,不是在模拟器里运行的。

我不知道是不是因为我电脑配置太低导致的,但是又觉得不应该。

在模拟器里是可以返回的,不过我电脑启动模拟器时要很久、也很卡,

在HarmonyOS Next中,应用程序框架的代码未实现预期效果可能是由于以下原因:

  1. API调用错误:检查是否使用了正确的API,并确保API的调用方式符合HarmonyOS的规范。
  2. 生命周期管理不当:确保组件的生命周期方法(如onCreateonDestroy等)被正确调用和管理。
  3. 事件处理不正确:验证事件监听器是否正确注册,并确保事件处理逻辑符合预期。
  4. 资源文件未正确引用:确认资源文件(如布局文件、字符串资源等)是否正确引用,并确保路径和命名无误。
  5. 权限问题:检查应用是否获取了必要的权限,并在Manifest文件中正确声明。
  6. 异步操作未正确处理:确保异步任务(如网络请求、文件读写等)的处理逻辑正确,避免阻塞主线程或未正确处理回调。

如果上述检查无误,建议进一步调试代码,使用日志输出关键步骤的执行情况,以定位具体问题。

回到顶部