日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

孫澳

OpenHarmony知識體系組

簡介

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

效果圖

wKgaomVgowOAMnJnAFUxibk44kI804.gif ?

使用說明

Arouter支持以下功能:

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

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

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

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

路由跳轉(zhuǎn)

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

2.傳參跳轉(zhuǎn)在不傳參跳轉(zhuǎn)的基礎(chǔ)上,跳轉(zhuǎn)之前通過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)行,在路由前的頁面實(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)頁面的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)用對應(yīng)的回調(diào)方法,即可回調(diào)源頁面實(shí)現(xiàn)的方法
postcard.getNavigationCallback().onActivityResult(params)

路由攔截

1.配置攔截器在攔截器中的process()方法中實(shí)現(xiàn)頁面的攔截,通過interceptorCallback.onInterrupt()中斷跳轉(zhuǎn),interceptorCallback.onContinue()繼續(xù)跳轉(zhuǎn)。
import {Postcard,IInterceptor,InterceptorCallback} from '@ohos/arouteronactivityresult';
var iInterceptor:IInterceptor= {
    process(postcard:Postcard, interceptorCallback:InterceptorCallback) {
        // 選擇攔截的頁面,若跳轉(zhuǎn)時(shí)有該路徑則進(jìn)行攔截提示,若沒有則直接跳轉(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.注冊攔截器
import {registerInterceptor} from '@ohos/arouteronactivityresult';
registerInterceptor(iInterceptor);
3.移除攔截器
import {unregisterInterceptor} from '@ohos/arouteronactivityresult';
unregisterInterceptor()
4.配置綠色通道在跳轉(zhuǎn)前使用.setGreenChannel()方法跳過攔截(true:跳過攔截)。
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)

接口說明

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

下載安裝

ohpminstall@ohos/arouteronactivityresult

源碼鏈接

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


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

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

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

    關(guān)注

    60

    文章

    3031

    瀏覽量

    46193
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3977

    瀏覽量

    21377

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    為什么MES企業(yè)要跟第三方機(jī)構(gòu)合作設(shè)備數(shù)據(jù)采集?

    綜上考慮,多數(shù)MES企業(yè)都不直接承接設(shè)備數(shù)據(jù)采集業(yè)務(wù),而是選擇和第三方機(jī)構(gòu)合作。畢竟第三方機(jī)構(gòu)長期耕耘這領(lǐng)域,擁有成熟的產(chǎn)品體系、完善的技術(shù)路線以及專業(yè)的現(xiàn)場施工團(tuán)隊(duì),能夠快速應(yīng)對各類現(xiàn)場難題,將
    的頭像 發(fā)表于 03-19 15:03 ?878次閱讀
    為什么MES企業(yè)要跟第<b class='flag-5'>三方</b>機(jī)構(gòu)合作設(shè)備數(shù)據(jù)采集?

    蘋果17可以無線充電嗎?第三方配件怎么選?

    iPhone 17無線充電提升車載體驗(yàn),支持Qi2.2,磁吸強(qiáng)、散熱好,第三方配件需認(rèn)準(zhǔn)MFM認(rèn)證。
    的頭像 發(fā)表于 03-19 08:17 ?961次閱讀
    蘋果17可以無線充電嗎?第<b class='flag-5'>三方</b>配件怎么選?

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

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

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

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

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

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

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

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

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

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

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

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

    鴻蒙非侵入式彈窗新解法,企查查正式開源“QuickDialog”彈窗組件

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

    飛書富文本組件RichTextVista開源

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

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

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

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

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

    HarmonyOS入門指南

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

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

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

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

    三方工業(yè)互聯(lián)網(wǎng)平臺有哪些
    的頭像 發(fā)表于 06-14 15:48 ?1507次閱讀
    华阴市| 华坪县| 黎城县| 安远县| 华容县| 班玛县| 永登县| 越西县| 承德市| 马公市| 阳信县| 松滋市| 新乡市| 新昌县| 忻州市| 宿松县| 泽州县| 崇礼县| 左贡县| 博白县| 玉溪市| 利川市| 竹北市| 弥渡县| 辽阳市| 尼勒克县| 彝良县| 洛川县| 五原县| 当阳市| 和平县| 威海市| 东明县| 淮北市| 德惠市| 若尔盖县| 湾仔区| 开化县| 松潘县| 临潭县| 沙河市|