梅科尔工作室-张启帆-鸿蒙笔记4
本次的主要培訓(xùn)講的是我們平常用手機(jī)時的一些跳轉(zhuǎn)、數(shù)據(jù)請求、和彈窗等功能。
一.跳轉(zhuǎn)功能
要實(shí)現(xiàn)Ability內(nèi)頁面的跳轉(zhuǎn)和數(shù)據(jù)傳遞。首先需要導(dǎo)入router模塊
跳轉(zhuǎn)的方式呢,也有很多種,依次為你介紹
(1)、通過調(diào)用router.push()方法,跳轉(zhuǎn)到Ability內(nèi)的指定頁面。
說明:每調(diào)用一次router.push()方法,均會新建一個頁面。默認(rèn)情況下,頁面棧數(shù)量會加1,頁面棧支持的最大頁面數(shù)量為32。
當(dāng)頁面棧數(shù)量較大或者超過32時,可以通過調(diào)用router.clear()方法清除頁面棧中的所有歷史頁面,僅保留當(dāng)前頁面作為棧頂頁面。
?
(2)、?API9及以上,router.push()方法新增了mode參數(shù),可以將mode參數(shù)配置為router.RouterMode.Single單實(shí)例模式和router.RouterMode.Standard標(biāo)準(zhǔn)模式。
在單實(shí)例模式下:如果目標(biāo)頁面的url在頁面棧中已經(jīng)存在同url頁面,離棧頂最近的同url頁面會被移動到棧頂,移動后的頁面為新建頁,原來的頁面仍然存在棧中,頁面棧數(shù)量不變;如果目標(biāo)頁面的url在頁面棧中不存在同url頁面,按標(biāo)準(zhǔn)模式跳轉(zhuǎn),頁面棧數(shù)量會加1。
?
(3)、?通過調(diào)用router.replace()方法,跳轉(zhuǎn)到Ability內(nèi)的指定頁面。即使用新的頁面替換當(dāng)前頁面,并銷毀被替換的當(dāng)前頁面,頁面棧數(shù)量不變。
?
(4)、API9及以上,router.replace()方法新增了mode參數(shù),可以將mode參數(shù)配置為router.RouterMode.Single單實(shí)例模式和router.RouterMode.Standard標(biāo)準(zhǔn)模式。
在單實(shí)例模式下:如果目標(biāo)頁面的url在頁面棧中已經(jīng)存在同url頁面,離棧頂最近的同url頁面會被移動到棧頂,替換當(dāng)前頁面,并銷毀被替換的當(dāng)前頁面,移動后的頁面為新建頁,頁面棧數(shù)量會減1;如果目標(biāo)頁面的url在頁面棧中不存在同url頁面,按標(biāo)準(zhǔn)模式跳轉(zhuǎn),頁面棧數(shù)量不變。
?
跳轉(zhuǎn)之后,需要有接受信息的頁面,接受時是通過調(diào)用router.getParams()方法獲取Index頁面?zhèn)鬟f過來的自定義參數(shù)
?效果示意圖如圖所示。在Index頁面中,點(diǎn)擊“Next”后,即可從Index頁面跳轉(zhuǎn)到Second頁面,并在Second頁面中接收參數(shù)和進(jìn)行頁面刷新展示。
?
?
二.數(shù)據(jù)請求模塊?
數(shù)據(jù)請求首先需要導(dǎo)入http 模塊:
在FA模型下,如果不是以https開頭的需要配置權(quán)限?,具體位置是在config.json的module模塊里配置,示例如下。
?
官方案例如下:sansan?
?
?三、彈窗模塊
跟以上類似,也需要導(dǎo)入相對應(yīng)的(prompt)模塊
主要使用的是prompt.showToast()方法,作用是可以在屏幕上彈出提示信息。message是彈出的消息,而duration是彈出的時間,單位是毫秒。1000是1秒,則2000是2秒。
?
總結(jié)
以上是生活随笔為你收集整理的梅科尔工作室-张启帆-鸿蒙笔记4的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 回收站中怎么找回误删除的文件?这几种方法
- 下一篇: SQL ZOO我的答案2之SELECT