chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【開(kāi)源三方庫(kù)】Arouter:一款輕量、高效的頁(yè)面路由工具

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

掃碼添加小助手

加入工程師交流群

點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們

開(kāi)源項(xiàng)目 OpenHarmony是每個(gè)人的 OpenHarmony wKgaomVgowKABhtvAABG3jYJR5o827.jpg

孫澳

OpenHarmony知識(shí)體系組

簡(jiǎn)介

Arouter是一款適用于OpenAtom OpenHarmony(以下簡(jiǎn)稱(chēng)“OpenHarmony”)的輕量高效的頁(yè)面路由工具,相比原生的路由方案,Arouter更有優(yōu)勢(shì)。傳統(tǒng)的路由方案使用顯示Intent和隱式Intent進(jìn)行跳轉(zhuǎn),會(huì)存在一些問(wèn)題。使用顯式Intent耦合度過(guò)高,而使用隱式Intent集中式管理Path會(huì)導(dǎo)致協(xié)作困難。Arouter采用自定義的路由方案,通過(guò)解析標(biāo)準(zhǔn)URL進(jìn)行跳轉(zhuǎn),避免了直接依賴(lài)的問(wèn)題。使用分布式管理頁(yè)面配置,解決了集中式管理Path的問(wèn)題,整個(gè)路由跳轉(zhuǎn)過(guò)程更加透明,具有更好的擴(kuò)展性。Arouter相比原生路由方案,具有更低的耦合度、更好的協(xié)作性和控制攔截能力,同時(shí)采用分布式管理頁(yè)面配置,提供了更好的擴(kuò)展性,目前支持SDK:OpenHarmony API Version 10版本。

效果圖

wKgaomVgowOAMnJnAFUxibk44kI804.gif ?

使用說(shuō)明

Arouter支持以下功能:

●支持頁(yè)面間路由跳轉(zhuǎn);

●支持帶參數(shù)跳轉(zhuǎn)及回調(diào);

●支持配置跳轉(zhuǎn)攔截器;

●支持預(yù)處理跳轉(zhuǎn)與否;

路由跳轉(zhuǎn)

1.不傳參跳轉(zhuǎn)通過(guò)Arouter.getInstance()創(chuàng)建路由對(duì)象,使用鏈?zhǔn)秸{(diào)用方法 build('')配置跳轉(zhuǎn)的頁(yè)面,navigation() 方法進(jìn)行頁(yè)面跳轉(zhuǎn)。
import {Arouter} from "@ohos/arouteronactivityresult";
Arouter.getInstance()    
 .build("--/--")  //需要跳轉(zhuǎn)的地址    
 .navigation()

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

路由攔截

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

在跳轉(zhuǎn)前調(diào)用.setPretreatmentService() 方法,將 pretreatmentService傳入 setPretreatmentService()方法中完成預(yù)處理功能。

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

接口說(shuō)明

ArouterwKgaomVgowOAaJS8AABZ7zRyQvI888.png ?回調(diào)接口wKgaomVgowOAFdW9AAA0dzkOMPk424.png ?

下載安裝

ohpminstall@ohos/arouteronactivityresult

源碼鏈接

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


原文標(biāo)題:【開(kāi)源三方庫(kù)】Arouter:一款輕量、高效的頁(yè)面路由工具

文章出處:【微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2966

    瀏覽量

    45940
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3955

    瀏覽量

    21129

原文標(biāo)題:【開(kāi)源三方庫(kù)】Arouter:一款輕量、高效的頁(yè)面路由工具

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32W031調(diào)制頻率的話有第三方軟件工具么?

    請(qǐng)問(wèn),CW32W031調(diào)制頻率的話,有第三方軟件工具么?仿真軟件也行
    發(fā)表于 01-19 06:54

    釘釘正式開(kāi)源HarmonyOS圖片編輯組件

    近日,由釘釘團(tuán)隊(duì)自主研發(fā)的“HarmonyOS圖片編輯組件”正式上線OpenHarmony三方庫(kù)中心倉(cāng)并開(kāi)源。作為一款填補(bǔ)鴻蒙社區(qū)圖像處理領(lǐng)域空白的重量級(jí)組件,該方案基于Harmony
    的頭像 發(fā)表于 01-05 09:58 ?516次閱讀

    SEGGER Ozone調(diào)試器支持第三方調(diào)試工具

    SEGGER強(qiáng)大的Ozone調(diào)試器和性能分析器,長(zhǎng)期以來(lái)直深受J-Link和J-Trace用戶(hù)的信任,現(xiàn)在可以支持第三方調(diào)試工具了。
    的頭像 發(fā)表于 09-29 11:45 ?1154次閱讀

    知乎開(kāi)源“智能預(yù)渲染框架” 幾行代碼實(shí)現(xiàn)鴻蒙應(yīng)用頁(yè)面“秒開(kāi)”

    近日,知乎在Gitee平臺(tái)開(kāi)源了其自研的鴻蒙“智能預(yù)渲染框架”,并將該框架的Har包上架到OpenHarmony三方庫(kù)中心倉(cāng)。該框架在鴻蒙平臺(tái)首創(chuàng)“智能預(yù)渲染”技術(shù),旨在破解應(yīng)用復(fù)雜頁(yè)面
    的頭像 發(fā)表于 08-29 14:32 ?636次閱讀
    知乎<b class='flag-5'>開(kāi)源</b>“智能預(yù)渲染框架” 幾行代碼實(shí)現(xiàn)鴻蒙應(yīng)用<b class='flag-5'>頁(yè)面</b>“秒開(kāi)”

    貨拉拉開(kāi)源三方庫(kù),為鴻蒙應(yīng)用高效開(kāi)發(fā)貢獻(xiàn)力量

    、可擴(kuò)展的通用工具,持續(xù)提升鴻蒙應(yīng)用的創(chuàng)新體驗(yàn)與開(kāi)發(fā)效率。 在這生態(tài)共建的浪潮中,貨拉拉積極貢獻(xiàn)了其在鴻蒙應(yīng)用開(kāi)發(fā)過(guò)程中的寶貴經(jīng)驗(yàn)與技術(shù)積累,開(kāi)源了兩款實(shí)用三方
    的頭像 發(fā)表于 08-26 14:02 ?563次閱讀
    貨拉拉<b class='flag-5'>開(kāi)源</b>兩<b class='flag-5'>款</b><b class='flag-5'>三方</b><b class='flag-5'>庫(kù)</b>,為鴻蒙應(yīng)用<b class='flag-5'>高效</b>開(kāi)發(fā)貢獻(xiàn)力量

    基于開(kāi)源鴻蒙的語(yǔ)音識(shí)別及語(yǔ)音合成應(yīng)用開(kāi)發(fā)樣例

    本期內(nèi)容由AI Model SIG提供,介紹了在開(kāi)源鴻蒙中,利用sherpa_onnx開(kāi)源三方庫(kù)進(jìn)行ASR語(yǔ)音識(shí)別與TTS語(yǔ)音合成應(yīng)用開(kāi)發(fā)的流程。
    的頭像 發(fā)表于 08-25 14:26 ?4137次閱讀
    基于<b class='flag-5'>開(kāi)源</b>鴻蒙的語(yǔ)音識(shí)別及語(yǔ)音合成應(yīng)用開(kāi)發(fā)樣例

    鴻蒙非侵入式彈窗新解法,企查查正式開(kāi)源“QuickDialog”彈窗組件庫(kù)

    近日,企查查將其自研的鴻蒙彈窗組件庫(kù)“QuickDialog”開(kāi)源,并上線至?OpenHarmony 三方庫(kù)中心倉(cāng)。這是鴻蒙生態(tài)首個(gè)支持“彈窗堆棧暫存能力”的非侵入式彈窗解決方案,憑借
    的頭像 發(fā)表于 07-31 10:40 ?733次閱讀
    鴻蒙非侵入式彈窗新解法,企查查正式<b class='flag-5'>開(kāi)源</b>“QuickDialog”彈窗組件<b class='flag-5'>庫(kù)</b>

    飛書(shū)富文本組件庫(kù)RichTextVista開(kāi)源

    近日,飛書(shū)正式將其自研的富文本組件庫(kù) RichTextVista(簡(jiǎn)稱(chēng)“RTV”)開(kāi)源,并上線OpenHarmony 三方庫(kù)中心倉(cāng)。該組件以領(lǐng)先的性能、流暢的渲染體驗(yàn)與高度的開(kāi)放性,為
    的頭像 發(fā)表于 07-16 16:47 ?1023次閱讀

    如何集成第三方支付API到電商網(wǎng)站

    ? 在電商網(wǎng)站中,集成第三方支付API是確保交易安全、提升用戶(hù)體驗(yàn)的關(guān)鍵步驟。本文將逐步指導(dǎo)您完成整個(gè)流程,從選擇支付提供商到上線后的監(jiān)控。文章結(jié)構(gòu)清晰,包含代碼示例和實(shí)用建議,幫助您高效實(shí)現(xiàn)支付
    的頭像 發(fā)表于 07-16 10:35 ?611次閱讀
    如何集成第<b class='flag-5'>三方</b>支付API到電商網(wǎng)站

    天合跟蹤獲得DNV第三方風(fēng)洞測(cè)試審查報(bào)告

    三方審核。這不僅是三方合作的里程碑,更是中國(guó)光伏跟蹤支架技術(shù)邁向國(guó)際高標(biāo)準(zhǔn)的重要步。DNV對(duì)此研究成果的專(zhuān)業(yè)性以及可靠性進(jìn)行了全面審查。
    的頭像 發(fā)表于 07-08 17:35 ?957次閱讀

    HarmonyOS入門(mén)指南

    OpenHarmony三方庫(kù)中心倉(cāng) 堅(jiān)果派 童長(zhǎng)老倉(cāng)庫(kù)中心 鴻蒙寶典 本快速學(xué)習(xí)鴻蒙的電子書(shū) promises-book JavaScript Promise迷你書(shū)。 harmony-utils
    的頭像 發(fā)表于 06-27 00:11 ?802次閱讀

    使用 Claroty SRA 優(yōu)化第三方 OT 遠(yuǎn)程訪問(wèn)

    三方,如原始設(shè)備制造商 (OEM) 技術(shù)員和維護(hù)承包商,是確保 OT 環(huán)境可用性、完整性和安全性的關(guān)鍵。負(fù)責(zé)服務(wù) OT 資產(chǎn)的第三方經(jīng)常遠(yuǎn)程工作。這意味著,他們會(huì)通過(guò)無(wú)數(shù)廣泛使用的解決方案遠(yuǎn)程連接
    的頭像 發(fā)表于 06-17 16:11 ?793次閱讀
    使用 Claroty SRA 優(yōu)化第<b class='flag-5'>三方</b> OT 遠(yuǎn)程訪問(wèn)

    三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些

    三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些
    的頭像 發(fā)表于 06-14 15:48 ?1134次閱讀

    DialogHub上線OpenHarmony開(kāi)源社區(qū),高效開(kāi)發(fā)鴻蒙應(yīng)用彈窗

    三方庫(kù),只需要一兩個(gè)配置項(xiàng)就可以輕松解決上述問(wèn)題。 “DialogHub”可高效地解決以下3點(diǎn)問(wèn)題:1、上文提到的焦點(diǎn)、手勢(shì)、動(dòng)畫(huà)等交互問(wèn)題;2、彈窗需要與UI進(jìn)行解耦。3、彈窗需要具備復(fù)用能力
    發(fā)表于 04-03 17:30

    開(kāi)源啦?。。』邙櫭葾rkTS封裝的圖表組件《McCharts》,大家快來(lái)起共創(chuàng)

    及時(shí)反饋 開(kāi)源代碼管理管理開(kāi)源代碼我們選擇了GitHub,比較主流,后續(xù)也會(huì)放開(kāi)其他的。而開(kāi)發(fā)完的組件我們使用的是OpenHarmony三方庫(kù)中心倉(cāng)來(lái)管理,鴻蒙目前也只支持這個(gè)中心倉(cāng)下
    發(fā)表于 03-15 15:21