router跳轉page頁面

凤雏小呆發表於2024-09-04

模組內跳轉:

entry模組內有兩個頁面

entry

  src

    main
      ets
        pages    

          PageA.ets

          PageB.ets

router.pushUrl({url:"pages/PageA.ets"})//跳轉至PageA
router.pushUrl({url:"pages/PageB.ets"})//跳轉至PageB

模組間跳轉:

第一種是跳轉至har內的page

1,har包內page需要定義別名

@Entry({routeName:"Test"})//定義router別名
@Component
struct Index {

  build() {
    Stack() {
      // Column : 沿垂直方向佈局的容器。
      Column() {
        Image($r('app.media.bg_index'))
          .objectFit(ImageFit.Fill)
      }
    }
  }
}

2,需要打har包模組的匯出檔案新增匯出頁面:export xxx from './src/main/ets/page/Test'

3,其他模組透過router.pushNamedRoute跳轉至對應別名的page

 router.pushNamedRoute({
      name:"Test"
    },router.RouterMode.Single)

第二種是跳轉至hsp內的page

 router.pushUrl({ // 跳轉hsp_test模組(hsp型別)的頁面
              url: '@bundle:com.samples.hspsample/hsp_test/ets/pages/Test' //路徑為:`hsp_test/src/main/ets/pages/Test.ets
            })

相關文章