前置知识: HarmonyOS

路由跳转与路由栈

1 minAdvanced2026/6/14

HarmonyOS路由跳转与路由栈详解:router.pushUrl、replaceUrl。

1. 页面跳转

import router from '@ohos.router';

// 压栈跳转(可返回)
router.pushUrl({
  url: 'pages/Detail',
  params: { id: 123 },
});

// 替换跳转(不可返回)
router.replaceUrl({
  url: 'pages/Login',
});

// 返回
router.back();
router.back({ url: 'pages/Index' }); // 返回到指定页面

2. 路由栈

pushUrl:  [A] → [A, B] → [A, B, C]
replaceUrl: [A, B] → [A, C]
back: [A, B, C] → [A, B]

3. 获取参数

@Entry
@Component
struct Detail {
  params: any = router.getParams()

  build() {
    Text(`ID: ${this.params?.id}`)
  }
}

4. 路由模式

router.pushUrl(
  {
    url: 'pages/Detail',
  },
  router.RouterMode.Standard
); // 标准模式(默认)

router.pushUrl(
  {
    url: 'pages/Detail',
  },
  router.RouterMode.Single
); // 单例模式(栈中已存在则移到栈顶)