国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

【開源三方庫】Arouter:一款輕量、高效的頁面路由工具

OpenAtom OpenHarmony ? 來源:未知 ? 2023-11-24 21:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

點擊藍字 ╳ 關注我們

開源項目 OpenHarmony是每個人的 OpenHarmony wKgaomVgowKABhtvAABG3jYJR5o827.jpg

孫澳

OpenHarmony知識體系組

簡介

Arouter是一款適用于OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)的輕量高效的頁面路由工具,相比原生的路由方案,Arouter更有優勢。傳統的路由方案使用顯示Intent和隱式Intent進行跳轉,會存在一些問題。使用顯式Intent耦合度過高,而使用隱式Intent集中式管理Path會導致協作困難。Arouter采用自定義的路由方案,通過解析標準URL進行跳轉,避免了直接依賴的問題。使用分布式管理頁面配置,解決了集中式管理Path的問題,整個路由跳轉過程更加透明,具有更好的擴展性。Arouter相比原生路由方案,具有更低的耦合度、更好的協作性和控制攔截能力,同時采用分布式管理頁面配置,提供了更好的擴展性,目前支持SDK:OpenHarmony API Version 10版本。

效果圖

wKgaomVgowOAMnJnAFUxibk44kI804.gif ?

使用說明

Arouter支持以下功能:

●支持頁面間路由跳轉;

●支持帶參數跳轉及回調;

●支持配置跳轉攔截器;

●支持預處理跳轉與否;

路由跳轉

1.不傳參跳轉通過Arouter.getInstance()創建路由對象,使用鏈式調用方法 build('')配置跳轉的頁面,navigation() 方法進行頁面跳轉。
import {Arouter} from "@ohos/arouteronactivityresult";
Arouter.getInstance()    
 .build("--/--")  //需要跳轉的地址    
 .navigation()

2.傳參跳轉在不傳參跳轉的基礎上,跳轉之前通過withParams()進行參數配置。
import {Arouter} from "@ohos/arouteronactivityresult";
Arouter.getInstance()    
 .build("--/--")  //需要跳轉的地址    
 .withParams({index:"--"})    
.navigation()
3.路由回調路由回調需要配合NavigationCallback接口進行,在路由前的頁面實現NavigationCallback接口
import {NavigationCallback} from '@ohos/arouteronactivityresult'
var callback:NavigationCallback = {    
 onInterrupt(postcard){},    
 onArrival(postcard){},    
 onActivityResult(data){}
}
然后將callback傳入 .navigationWithCallback()中進行跳轉
import {Arouter} from "@ohos/arouteronactivityresult";
Arouter.getInstance()    
 .build("--")//需要跳轉的地址    
.navigationWithCallback(callback)
在目標頁面的onPageShow()生命周期中調用getPostcard()方法獲取到指定的postcard
import router from '@ohos.router';
if (postcard == null) { 
 postcard =  Arouter.getInstance().getPostcard(router.getState().path+router.getState().name);   
}
使用 postcard.getNavigationCallback() 方法調用對應的回調方法,即可回調源頁面實現的方法
postcard.getNavigationCallback().onActivityResult(params)

路由攔截

1.配置攔截器在攔截器中的process()方法中實現頁面的攔截,通過interceptorCallback.onInterrupt()中斷跳轉,interceptorCallback.onContinue()繼續跳轉。
import {Postcard,IInterceptor,InterceptorCallback} from '@ohos/arouteronactivityresult';
var iInterceptor:IInterceptor= {
    process(postcard:Postcard, interceptorCallback:InterceptorCallback) {
        // 選擇攔截的頁面,若跳轉時有該路徑則進行攔截提示,若沒有則直接跳轉
        if (Postcard.getUri() == 'pages/transit') {
            // 選擇彈框
            AlertDialog.show(
                {
                    message: '被攔截了,點擊繼續跳轉',
                    primaryButton: {
                        value: '取消',
                        action: () => {
                            // 中斷跳轉
                         interceptorCallback.onInterrupt(postcard)
                        }
                    },
                    secondaryButton: {
                        value: '繼續',
                        action: () => {
                            // 繼續跳轉
                        interceptorCallback.onContinue(postcard);
                        }
                    },
                }
            )
        } else {
            // 繼續跳轉
            interceptorCallback.onContinue(postcard);
        }
    }
}
2.注冊攔截器
import {registerInterceptor} from '@ohos/arouteronactivityresult';
registerInterceptor(iInterceptor);
3.移除攔截器
import {unregisterInterceptor} from '@ohos/arouteronactivityresult';
unregisterInterceptor()
4.配置綠色通道在跳轉前使用.setGreenChannel()方法跳過攔截(true:跳過攔截)。
Arouter.getInstance()
    .build("--/--")//需要跳轉的地址
    .setGreenChannel(true)
.navigation()
5.配置預處理跳轉與否預處理:實現 PretreatmentService 接口中 onPretreatment 方法,并返回一個Boolean值(true:繼續跳轉,false:不跳轉)。
import {PretreatmentService} from '@ohos/arouteronactivityresult';
var pretreatmentService:PretreatmentService = {
  onPretreatment(postcardboolean{
    return true
  }
}

在跳轉前調用.setPretreatmentService() 方法,將 pretreatmentService傳入 setPretreatmentService()方法中完成預處理功能。

Arouter.getInstance()
    .build(this.router)
    .setPretreatmentService(pretreatmentService)
.navigationWithCallback(callback)

接口說明

ArouterwKgaomVgowOAaJS8AABZ7zRyQvI888.png ?回調接口wKgaomVgowOAFdW9AAA0dzkOMPk424.png ?

下載安裝

ohpminstall@ohos/arouteronactivityresult

源碼鏈接

https://gitee.com/openharmony-tpc/arouter-api-onActivityResult


原文標題:【開源三方庫】Arouter:一款輕量、高效的頁面路由工具

文章出處:【微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

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

    關注

    60

    文章

    2963

    瀏覽量

    45886
  • OpenHarmony
    +關注

    關注

    33

    文章

    3952

    瀏覽量

    21098

原文標題:【開源三方庫】Arouter:一款輕量、高效的頁面路由工具

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32W031調制頻率的話有第三方軟件工具么?

    請問,CW32W031調制頻率的話,有第三方軟件工具么?仿真軟件也行
    發表于 01-19 06:54

    釘釘正式開源HarmonyOS圖片編輯組件

    近日,由釘釘團隊自主研發的“HarmonyOS圖片編輯組件”正式上線OpenHarmony三方中心倉并開源。作為一款填補鴻蒙社區圖像處理領域空白的重量級組件,該方案基于Harmony
    的頭像 發表于 01-05 09:58 ?496次閱讀

    SEGGER Ozone調試器支持第三方調試工具

    SEGGER強大的Ozone調試器和性能分析器,長期以來直深受J-Link和J-Trace用戶的信任,現在可以支持第三方調試工具了。
    的頭像 發表于 09-29 11:45 ?1132次閱讀

    知乎開源“智能預渲染框架” 幾行代碼實現鴻蒙應用頁面“秒開”

    近日,知乎在Gitee平臺開源了其自研的鴻蒙“智能預渲染框架”,并將該框架的Har包上架到OpenHarmony三方中心倉。該框架在鴻蒙平臺首創“智能預渲染”技術,旨在破解應用復雜頁面
    的頭像 發表于 08-29 14:32 ?627次閱讀
    知乎<b class='flag-5'>開源</b>“智能預渲染框架” 幾行代碼實現鴻蒙應用<b class='flag-5'>頁面</b>“秒開”

    貨拉拉開源三方,為鴻蒙應用高效開發貢獻力量

    、可擴展的通用工具,持續提升鴻蒙應用的創新體驗與開發效率。 在這生態共建的浪潮中,貨拉拉積極貢獻了其在鴻蒙應用開發過程中的寶貴經驗與技術積累,開源了兩款實用三方
    的頭像 發表于 08-26 14:02 ?555次閱讀
    貨拉拉<b class='flag-5'>開源</b>兩<b class='flag-5'>款</b><b class='flag-5'>三方</b><b class='flag-5'>庫</b>,為鴻蒙應用<b class='flag-5'>高效</b>開發貢獻力量

    基于開源鴻蒙的語音識別及語音合成應用開發樣例

    本期內容由AI Model SIG提供,介紹了在開源鴻蒙中,利用sherpa_onnx開源三方進行ASR語音識別與TTS語音合成應用開發的流程。
    的頭像 發表于 08-25 14:26 ?4115次閱讀
    基于<b class='flag-5'>開源</b>鴻蒙的語音識別及語音合成應用開發樣例

    飛書富文本組件RichTextVista開源

    近日,飛書正式將其自研的富文本組件 RichTextVista(簡稱“RTV”)開源,并上線OpenHarmony 三方中心倉。該組件以領先的性能、流暢的渲染體驗與高度的開放性,為
    的頭像 發表于 07-16 16:47 ?1006次閱讀

    如何集成第三方支付API到電商網站

    ? 在電商網站中,集成第三方支付API是確保交易安全、提升用戶體驗的關鍵步驟。本文將逐步指導您完成整個流程,從選擇支付提供商到上線后的監控。文章結構清晰,包含代碼示例和實用建議,幫助您高效實現支付
    的頭像 發表于 07-16 10:35 ?598次閱讀
    如何集成第<b class='flag-5'>三方</b>支付API到電商網站

    天合跟蹤獲得DNV第三方風洞測試審查報告

    三方審核。這不僅是三方合作的里程碑,更是中國光伏跟蹤支架技術邁向國際高標準的重要步。DNV對此研究成果的專業性以及可靠性進行了全面審查。
    的頭像 發表于 07-08 17:35 ?937次閱讀

    HarmonyOS入門指南

    OpenHarmony三方中心倉 堅果派 童長老倉庫中心 鴻蒙寶典 本快速學習鴻蒙的電子書 promises-book JavaScript Promise迷你書。 harmony-utils
    的頭像 發表于 06-27 00:11 ?788次閱讀

    三方工業互聯網平臺有哪些

    三方工業互聯網平臺有哪些
    的頭像 發表于 06-14 15:48 ?1112次閱讀

    DialogHub上線OpenHarmony開源社區,高效開發鴻蒙應用彈窗

    三方,只需要一兩個配置項就可以輕松解決上述問題。 “DialogHub”可高效地解決以下3點問題:1、上文提到的焦點、手勢、動畫等交互問題;2、彈窗需要與UI進行解耦。3、彈窗需要具備復用能力
    發表于 04-03 17:30

    開源啦!!!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來起共創

    及時反饋 開源代碼管理管理開源代碼我們選擇了GitHub,比較主流,后續也會放開其他的。而開發完的組件我們使用的是OpenHarmony三方中心倉來管理,鴻蒙目前也只支持這個中心倉下
    發表于 03-15 15:21

    Get這個秘籍,鴻蒙原生應用頁面滑動絲滑無比

    Prefetcher接口監聽數據項的變化,動態控制資源的下載與取消,并結合ImageKnife三方實現具體的預取和緩存管理。這種動態預加載策略突破了以往解決方案的局限性,提供了種更加智能、
    發表于 03-06 14:41

    鴻蒙文件傳輸三方上線開源鴻蒙社區 十行代碼實現大文件高速傳輸

    近日,華為在OpenHarmony社區上線了“super_fast_file_trans”文件傳輸三方(以下簡稱“SFFT”)。這一三方的推出,為開發者提供了
    發表于 03-06 10:29