在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發接口UI界面:【@ohos.router (頁面路由)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-28 16:26 ? 次閱讀

頁面路由

icon-note.gif說明
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  • 本模塊首批接口從API version 8開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。
  • 頁面路由需要在頁面渲染完成之后才能調用,在onInit和onReady生命周期中頁面還處于渲染階段,禁止調用頁面路由方法。

導入模塊

import router from '@ohos.router'

權限列表

router.push

push(options: RouterOptions): void

跳轉到應用內的指定頁面。

系統能力: SystemCapability.ArkUI.ArkUI.Full

參數

參數名類型必填說明
options[RouterOptions]跳轉頁面描述信息

示例:

// 在當前頁面中
export default {
  pushPage() {
    router.push({
      url: 'pages/routerpage2/routerpage2',
      params: {
	data1: 'message',
        data2: {
          data3: [123, 456, 789]
	},
      },
    });
  }
}
// 在routerpage2頁面中
export default {
  data: {
    data1: 'default',
    data2: {
      data3: [1, 2, 3]
    }
  },
  onInit() {
    console.info('showData1:' + this.data1);
    console.info('showData3:' + this.data2.data3);
  }
}

router.replace

replace(options: RouterOptions): void

用應用內的某個頁面替換當前頁面,并銷毀被替換的頁面。

系統能力: SystemCapability.ArkUI.ArkUI.Full

參數:

參數名類型必填說明
options[RouterOptions]替換頁面描述信息。

示例:

// 在當前頁面中
export default {
  replacePage() {
    router.replace({
      url: 'pages/detail/detail',
      params: {
        data1: 'message',
      },
    });
  }
}
// 在detail頁面中
export default {
  data: {
    data1: 'default'
  },
  onInit() {
    console.info('showData1:' + this.data1)
  }
}

router.back

back(options?: RouterOptions ): void

返回上一頁面或指定的頁面。

系統能力: SystemCapability.ArkUI.ArkUI.Full

參數:

參數名類型必填說明
options[RouterOptions]返回頁面描述信息,其中參數url指路由跳轉時會返回到指定url的界面,如果頁面棧上沒有url頁面,則不響應該情況。如果url未設置,則返回上一頁。

示例:

// index頁面
export default {    
  indexPushPage() {        
    router.push({            
      url: 'pages/detail/detail',        
    });        
  }
}
// detail頁面
export default {    
  detailPushPage() {        
    router.push({            
      url: 'pages/mall/mall',        
    });    
  }
}
// mall頁面通過back,將返回detail頁面
export default {    
  mallBackPage() {        
    router.back();    
  }
}
// detail頁面通過back,將返回index頁面
export default {    
  defaultBack() {        
    router.back();    
  }
}
// 通過back,返回到detail頁面
export default {    
  backToDetail() {        
    router.back({uri:'pages/detail/detail'});    
  }
}

router.clear

clear(): void

清空頁面棧中的所有歷史頁面,僅保留當前頁面作為棧頂頁面。

系統能力: SystemCapability.ArkUI.ArkUI.Full

示例:

export default {    
  clearPage() {        
    router.clear();    
  }
}js

router.getLength

getLength(): string

獲取當前在頁面棧內的頁面數量。

系統能力: SystemCapability.ArkUI.ArkUI.Full

返回值:

類型說明
string頁面數量,頁面棧支持最大數值是32。

示例:

export default {     
  getLength() {        
    var size = router.getLength();        
    console.log('pages stack size = ' + size);    
  }
}

router.getState

getState(): RouterState

獲取當前頁面的狀態信息。

系統能力: SystemCapability.ArkUI.ArkUI.Full

返回值:

類型說明
[RouterState]頁面狀態信息。

RouterState

頁面狀態信息。

系統能力: 以下各項對應的系統能力均為SystemCapability.ArkUI.ArkUI.Full。

名稱類型說明
indexnumber表示當前頁面在頁面棧中的索引。 > ![icon-note.gif]說明:> 從棧底到棧頂,index從1開始遞增。
namestring表示當前頁面的名稱,即對應文件名。
pathstring表示當前頁面的路徑。

示例:

export default {     
  getState() {        
    var page = router.getState();
    console.log('current index = ' + page.index);
    console.log('current name = ' + page.name);
    console.log('current path = ' + page.path);
  }
}

router.enableAlertBeforeBackPage

enableAlertBeforeBackPage(options: EnableAlertOptions): void

開啟頁面返回詢問對話框。

系統能力: SystemCapability.ArkUI.ArkUI.Full

參數:

參數名類型必填說明
options[EnableAlertOptions]文本彈窗信息描述。

示例:

export default {    
  enableAlertBeforeBackPage() {        
    router.enableAlertBeforeBackPage({            
      message: 'Message Info',            
      success: function() {                
        console.log('success');            
      },            
      fail: function() {                
        console.log('fail');            
      },        
    });    
  }
}

EnableAlertOptions

頁面返回詢問對話框選項。

系統能力: 以下各項對應的系統能力均為SystemCapability.ArkUI.ArkUI.Full。

名稱類型必填說明
messagestring詢問對話框內容。

router.disableAlertBeforeBackPage

disableAlertBeforeBackPage(): void

禁用頁面返回詢問對話框。

系統能力: SystemCapability.ArkUI.ArkUI.Full

示例:

export default {    
  disableAlertBeforeBackPage() {        
    router.disableAlertBeforeBackPage();    
  }
}

router.getParams

getParams(): Object

獲取發起跳轉的頁面往當前頁傳入的參數。

系統能力: SystemCapability.ArkUI.ArkUI.Full

返回值:

類型說明
Object發起跳轉的頁面往當前頁傳入的參數。

示例:

  • 類Web范示例

    // 在當前頁面中
    export default {
      pushPage() {
        router.push({
          url: 'pages/detail/detail',
          params: {
            data1: 'message',
          },
        });
      }
    }
    
    // 在detail頁面中
    export default {
      onInit() {
        console.info('showData1:' + router.getParams().data1);
      }
    }
    
  • 聲明式示例

    //通過router.push跳轉至目標頁攜帶params參數
    import router from '@ohos.router'
    
    @Entry
    @Component
    struct Index {
      async  routePage() {
        let options = {
          url: 'pages/second',
          params: {
            text: '這是第一頁的值',
            data: {
              array: [12, 45, 78]
            },
          }
        }
        try {
          await router.push(options)
        } catch (err) {
          console.info(` fail callback, code: ${err.code}, msg: ${err.msg}`)
        }
      }
    
      build() {
        Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
            Text('這是第一頁')
              .fontSize(50)
              .fontWeight(FontWeight.Bold)
          Button() {
            Text('next page')
              .fontSize(25)
              .fontWeight(FontWeight.Bold)
          }.type(ButtonType.Capsule)
              .margin({ top: 20 })
              .backgroundColor('#ccc')
              .onClick(() = > {
                this.routePage()
          })
        }
        .width('100%')
        .height('100%')
      }
    }
    
//在second頁面中接收傳遞過來的參數
    import router from '@ohos.router'

    @Entry
    @Component
    struct Second {
      private content: string = "這是第二頁"
      @State text: string = router.getParams()['text']
      @State data: any = router.getParams()['data']
      @State secondData : string = ''
      
      build() {
        Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
          Text(`${this.content}`)
            .fontSize(50)
            .fontWeight(FontWeight.Bold)
          Text(this.text)
            .fontSize(30)
            .onClick(()= >{
              this.secondData = (this.data.array[1]).toString()
            })
          .margin({top:20})
          Text('第一頁傳來的數值' + '  ' + this.secondData)
            .fontSize(20)
            .margin({top:20})
            .backgroundColor('red')      
        }
        .width('100%')
        .height('100%')
      }
    }
    
    `HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

搜狗高速瀏覽器截圖20240326151344.png

RouterOptions

路由跳轉選項。

系統能力: 以下各項對應的系統能力均為SystemCapability.ArkUI.ArkUI.Lite。

名稱類型必填說明
urlstring表示目標頁面的uri,可以用以下兩種格式: - 頁面絕對路徑,由配置文件中pages列表提供,例如: - pages/index/index - pages/detail/detail - 特殊值,如果uri的值是"/",則跳轉到首頁。
paramsObject跳轉時要同時傳遞到目標頁面的數據,跳轉到目標頁面后,參數可以在頁面中直接使用,如this.data1(data1為跳轉時params參數中的key值)。如果目標頁面中已有該字段,則其值會被傳入的字段值覆蓋。

icon-note.gif說明: 頁面路由棧支持的最大Page數量為32。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8610

    瀏覽量

    151213
  • 鴻蒙
    +關注

    關注

    57

    文章

    2355

    瀏覽量

    42868
收藏 人收藏

    評論

    相關推薦

    鴻蒙開發接口UI界面:【@ohos.prompt (彈窗)】

    本模塊首批接口從API version 8開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。
    的頭像 發表于 05-28 09:35 ?1176次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>接口</b><b class='flag-5'>UI</b><b class='flag-5'>界面</b>:【@<b class='flag-5'>ohos</b>.prompt (彈窗)】

    鴻蒙開發-應用程序框架UIAbility的使用

    使用不同的url訪問不同的頁面,包括跳轉到UIAbility內的指定頁面、用UIAbility內的某個頁面替換當前頁面、返回上一頁面或指定的
    發表于 01-17 16:36

    純血鴻蒙開發教程-運行時動態加載頁面提升性能

    } from \'./pageTwo\'; ... import router from \'@ohos.router\'; 2.主頁通過Navigation組件實現點擊Button跳轉到不同的子頁面
    發表于 05-10 20:52

    鴻蒙應用開發踩坑記之路由跳轉

    幫我催催官方吧。這兩天Mac OS發布了最新的版本,鴻蒙開發工具也發布了mac版本,這兩件事稍許沖淡了我在鴻蒙應用開發中遇到的不快。今天就來繼續做一下
    發表于 11-18 16:54

    鴻蒙應用開發踩坑記之路由跳轉

    本來打算先搞地圖方面的開發,但是遇到一些,已經在官方論壇發帖求助了:關于JS UI開發的一些問題大家如果對鴻蒙應用開發有興趣,也去幫我催催官
    發表于 11-21 18:21

    鴻蒙開發AI應用(六)UI

    在“富鴻蒙”的設備上開發就會比較方便。資料下載本期相關文件資料,可在公眾號“深度覺醒”,后臺回復:“ohos06”,獲取下載鏈接。下一篇預告本期主要介紹了一下JS框架下的界面
    發表于 01-07 01:16

    HarmonyOS應用開發-ArkUI聲明式UI頁面布局、跳轉與返回的實現

    RouterAPI接口,通過在頁面上引入router,可以調用router的各種接口,從而實現頁面
    發表于 12-09 11:42

    鴻蒙開源第三方組件資料合集

    展示1、測試界面。 如圖1所示,這是一個為了測試Timber_ohos功能而簡單構建的UI頁面。點擊“測試”按鈕即可輸出相應的log。2、鴻蒙
    發表于 03-23 09:53

    【潤和軟件DAYU200開發板體驗】從頭創建eTs項目

    in the build phase.*/build() {}}9、實現頁面間的跳轉頁面間的導航可以通過頁面路由ro
    發表于 10-16 15:24

    HarmonyOS 管理頁面跳轉及瀏覽記錄導航

    。 // index.ets import web_webview from \'@ohos.web.webview\'; import router from \'@ohos.router\'; @Entry
    發表于 09-19 18:31

    鴻蒙原生應用開發-關于頁面接口router返回問題與解決思路

    一、模塊導入 import router from \'@ohos.router\' 提供通過不同的url訪問不同的頁面,包括跳轉到應用內的指定頁面、用應用內的某個
    發表于 11-15 10:11

    鴻蒙版微信聊天UI效果實現!

    ? 最近開發中要做一個類似微信聊天的工單系統客服中心界面(安卓版)所以想著也模仿一個鴻蒙版(基于 Java UI 的,JS UI 版本的后期
    的頭像 發表于 11-15 09:35 ?3625次閱讀
    <b class='flag-5'>鴻蒙</b>版微信聊天<b class='flag-5'>UI</b>效果實現!

    鴻蒙頁面示例

    @Entry標簽,被該標簽修飾后頁面才會有生命周期 import router from '@ohos.router'@Entry@Componentstruct Login { @State title
    的頭像 發表于 02-01 11:24 ?463次閱讀

    鴻蒙OS開發實例:【工具類封裝-頁面路由

    import common from '@ohos.app.ability.common'; import router from '@ohos.router'封裝app內的
    的頭像 發表于 03-28 16:16 ?921次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發</b>實例:【工具類封裝-<b class='flag-5'>頁面</b><b class='flag-5'>路由</b>】

    鴻蒙開發接口UI界面:【@ohos.animator (動畫)】

    本模塊首批接口從API version 6開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。
    的頭像 發表于 05-27 16:46 ?594次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>接口</b><b class='flag-5'>UI</b><b class='flag-5'>界面</b>:【@<b class='flag-5'>ohos</b>.animator (動畫)】
    主站蜘蛛池模板: 国产精品高清久久久久久久| 啪啪免费网| 免费大片av手机看片| 日韩天天干| 国产98在线传媒在线视频| 国产精品成人一区二区三区| jizjizjizjiz日本护士出水| 欧美极品一区| 日本欧美一区二区三区不卡视频| 久久国产99| 亚州免费一级毛片| 涩涩涩丁香色婷五月网视色| 欧美色图综合| 国产一区美女视频| 亚洲视频色| 好吊妞视频988在线播放| 日本69sexmovies| 三级黄a| 亚洲九色| 欧美特级生活片| 国产成人91青青草原精品 | 性夜影院爽黄a免费视频| 在线欧美国产| 色欧美色| 狠狠色丁香婷婷久久| 新版天堂资源在线官网8| 久久精品国产亚洲aa| 另类毛片| 欧美在线1| 国产亚洲午夜精品a一区二区| 亚洲免费mv| 国产成人精品一区二区三区| 制服丝袜国产精品| 亚洲大色| 久久人视频| 天天操天天插天天射| 欧美黑人xxxx猛牲大交| 一级色视频| 久久两性视频| 天天操夜夜爱| 又色又污又爽又黄的网站|