速查

其他
關(guān)鍵字 注釋
module.json5、abilities <HarmonyOS第一課>運(yùn)行Hello World-華為開發(fā)者學(xué)堂 (huawei.com)
struct 自定義組件基于struct實(shí)現(xiàn)
@Component 賦予組件化能力
@Entry 代表自定義組件可作為頁面入口組件
export 需要將X文件下的組件交給Y文件下的組件使用的時候
readonly 設(shè)置該變量為只讀
@Builder 全局自定義構(gòu)建函數(shù):$$代表引用函數(shù)
@State 被裝飾擁有其所屬組件的狀態(tài),可以作為其子組件單向和雙向同步的數(shù)據(jù)源。當(dāng)其數(shù)值改變時,會引起相關(guān)組件的渲染刷新。
@Watch 監(jiān)聽、觀察變量
@Prop 被裝飾可以和父組件建立單向同步關(guān)系,@Prop裝飾的變量是可變的,但修改不會同步回父組件。
@Link 被裝飾變量和父組件構(gòu)建雙向同步關(guān)系的狀態(tài)變量,父組件會接受來子@Link裝飾的變量的修改的同步,父組件的更新也會同步給@Link裝飾的變量。
@Provide/@Consume @Provide/@Consume裝飾的變量用于跨組件層級(多層組件)同步狀態(tài)變量,可以不需要通過參數(shù)命名機(jī)制傳遞,通過alias(別名)或者屬性名綁定。
@Observed @Observed裝飾class,需要觀察多層嵌套場景的class需要被@Observed裝飾。單獨(dú)使用@Observed沒有任何作用,需要和@ObjectLink、@Prop連用。
@ObjectLink @ObjectLink裝飾的變量接收@Observed裝飾的class的實(shí)例,應(yīng)用于觀察多層嵌套場景,和父組件的數(shù)據(jù)源構(gòu)建雙向同步。
aboutToAppear/aboutToDisappear/onPageShow/onPageHide/onBackPress 組件生命周期
router.pushUrl,router.replaceUrl 頁面跳轉(zhuǎn)或者替換,mode參數(shù)擁有兩種模式:Single、Standard。
UIAbility 有三種啟動模式:multiton、singleton、specified
(router.getParams() as Record<string, string>)['src'] 獲取上個頁面?zhèn)鬟f的參數(shù)
Stack 疊放布局
===和==區(qū)別 ==是把類型轉(zhuǎn)成一樣的再比較,而===則是直接比較類型才比較值
private value : undefined = undefined 不確定如何初始化,用于開啟了嚴(yán)格空值檢測時使用
private value : X undefined 被視為聯(lián)合類型,運(yùn)行時可能有額外的開銷
let a = null! 告訴編譯器這個值后面肯定會賦值不會為null
@Styles 抽取 公共樣式、事件 不可以傳遞參數(shù)@Styles裝飾器:定義組件重用樣式-UI范式基本語法-學(xué)習(xí)ArkTS語言-基礎(chǔ)入門 - 華為HarmonyOS開發(fā)者 (huawei.com)
@Extend 擴(kuò)展 特定組件 樣式、事件 可以傳遞參數(shù) @Extend裝飾器:定義擴(kuò)展組件樣式-UI范式基本語法-學(xué)習(xí)ArkTS語言-基礎(chǔ)入門 - 華為HarmonyOS開發(fā)者 (huawei.com)
@Builder 抽取 結(jié)構(gòu)、樣式、事件 可以傳遞參數(shù)@Builder裝飾器:自定義構(gòu)建函數(shù)-UI范式基本語法-學(xué)習(xí)ArkTS語言-基礎(chǔ)入門 - 華為HarmonyOS開發(fā)者 (huawei.com)
context.eventHub.emit 主線程內(nèi)通信用EventHub
emitter.on 主線程與Worker間通信用Emitter
生命周期:
關(guān)鍵字 注釋
onCreate 在UI頁面可見之前
onWindowStageCreate 例如用戶打開游戲應(yīng)用,正在打游戲的時候,有一個消息通知,打開消息,消息會以彈窗的形式彈出在游戲應(yīng)用的上方,此時,游戲應(yīng)用就從獲焦切換到了失焦?fàn)顟B(tài),消息應(yīng)用切換到了獲焦?fàn)顟B(tài)。對于消息應(yīng)用,在onWindowStageCreate回調(diào)中,會觸發(fā)獲焦的事件回調(diào),可以進(jìn)行設(shè)置消息應(yīng)用的背景顏色、高亮等操作。
Foreground 進(jìn)入前臺:例如用戶打開地圖應(yīng)用查看當(dāng)前地理位置的時候,假設(shè)地圖應(yīng)用已獲得用戶的定位權(quán)限授權(quán)。在UI頁面顯示之前,可以在onForeground回調(diào)中打開定位功能,從而獲取到當(dāng)前的位置信息。
Background 進(jìn)入后臺:例如用戶打開地圖應(yīng)用查看當(dāng)前地理位置的時候,假設(shè)地圖應(yīng)用已獲得用戶的定位權(quán)限授權(quán)。在UI頁面顯示之前,可以在onForeground回調(diào)中打開定位功能,從而獲取到當(dāng)前的位置信息。
onWindowStageDestroy 可以在該回調(diào)中釋放UI頁面資源
onDestroy 可以在onDestroy回調(diào)中進(jìn)行系統(tǒng)資源的釋放、數(shù)據(jù)的保存等操作
基礎(chǔ)組件:

<HarmonyOS第一課>從簡單的頁面開始-華為開發(fā)者學(xué)堂 (huawei.com)

關(guān)鍵字 注釋
Text 文本
Image 圖片,支持加載網(wǎng)絡(luò)圖片
TextInput 編輯文本框
Button 按鈕
LoadingProgress 加載進(jìn)度
容器組件:

<HarmonyOS第一課>從簡單的頁面開始-華為開發(fā)者學(xué)堂 (huawei.com)

關(guān)鍵字 注釋
Column 垂直方向布局的容器
Row 水平方向布局的容器
屬性名稱 描述
justifyContent 設(shè)置子組件在主軸方向上的對齊格式。
alignItems 設(shè)置子組件在交叉軸方向上的對齊格式。
List組件:

<HarmonyOS第一課>從簡單的頁面開始-華為開發(fā)者學(xué)堂 (huawei.com)

屬性名稱 描述
List 一般和子組件ListItem一起使用,List列表中的每一個列表項(xiàng)對應(yīng)一個ListItem組件
ListItem 一般使用循環(huán)搭配使用:ForEach(this.arr, (item: number) => {ListItem() {
Grid組件:

<HarmonyOS第一課>從簡單的頁面開始-華為開發(fā)者學(xué)堂 (huawei.com)

屬性名稱 描述
Grid Grid組件一般和子組件GridItem一起使用,Grid列表中的每一個條目對應(yīng)一個GridItem組件。
GridItem 一般使用循環(huán)搭配使用:ForEach(this.arr, (item: string) => {GridItem() {
設(shè)置4*4的九宮數(shù)據(jù)、不可滾動 .columnsTemplate('1fr 1fr 1fr 1fr').rowsTemplate('1fr 1fr 1fr 1fr').columnsGap(10).rowsGap(10)
可滾動的數(shù)據(jù) GridItem的高度設(shè)置為固定值,例如100;僅設(shè)置columnsTemplate屬性,不設(shè)置rowsTemplate屬性,就可以實(shí)現(xiàn)Grid列表的滾動
列表滑動事件:
屬性名稱 描述
onScroll 列表滑動時觸發(fā),返回值scrollOffset為滑動偏移量,scrollState為當(dāng)前滑動狀態(tài)。
onScrollIndex 列表滑動時觸發(fā),返回值分別為滑動起始位置索引值與滑動結(jié)束位置索引值。
onReachStart 列表到達(dá)起始位置時觸發(fā)。
onReachEnd 列表到底末尾位置時觸發(fā)。
onScrollStop 列表滑動停止時觸發(fā)。
Tabs組件:

<HarmonyOS第一課>從簡單的頁面開始-華為開發(fā)者學(xué)堂 (huawei.com)

管理組件狀態(tài)
屬性名稱 描述
@State 組件內(nèi)的狀態(tài)管理:框架內(nèi)部會建立數(shù)據(jù)與視圖間的綁定
@Prop 從父組件單向同步狀態(tài):修飾子組件的變量,當(dāng)父組件中狀態(tài)變化時,該狀態(tài)值也會更新至@Prop修飾的變量;對@Prop修飾的變量的修改不會影響其父組件中的狀態(tài)。
@Link 與父組件雙向同步狀態(tài):修飾子組件@Link變量,必須是在父組件中存在的狀態(tài)變量。
@Provide和@Consume 跨組件層級雙向同步狀態(tài):在跨了很多層級的組件,在父組件使用@Provide修飾,任意一個子組件用@Consume修飾即可同步
彈窗

<HarmonyOS第一課>構(gòu)建更加豐富的頁面-華為開發(fā)者學(xué)堂 (huawei.com)

WebView
registerJavaScriptProxy 使用這個注冊進(jìn)WebView

數(shù)據(jù)管理:
屬性名稱 描述
創(chuàng)建 onCreate中創(chuàng)建PreferencesUtil.createFontPreferences(this.context);

<HarmonyOS第一課>保存應(yīng)用數(shù)據(jù)-華為開發(fā)者學(xué)堂 (huawei.com)

匿名內(nèi)部類:
export interface CustomPromiseClass {
  call(): String;
}

let customPromise: CustomPromiseClass = {
    }
return xxxx(customPromise)


如果實(shí)現(xiàn)多個方法
let requestInterface: RequestInterface = {
      onSuccess() {

      },
      onError() {

      }
    };
相關(guān)語法:
屬性名稱 等同于java的描述
let ik = [] byte[] iK = new byte[256],長度是動態(tài)的
encodeURI URLEncoder.encode()
new util.Base64Helper().decodeSync(resultStr) new String(Base64.decode(resultStr, Base64.NO_WRAP));
傳參的相關(guān)方法:

頁面跳轉(zhuǎn)和兩個頁面之間的數(shù)據(jù)傳遞-鴻蒙ArkTS_arkts頁面跳轉(zhuǎn)-CSDN博客

手機(jī)震動和view震動

HarmonyOS NEXT使用彈簧曲線實(shí)現(xiàn)抖動動畫及手機(jī)振動效果案例_鴻蒙開發(fā)鬧鐘抖動的動效怎樣實(shí)現(xiàn)?、-CSDN博客

等待xx秒
// 等待2s
await new Promise<void>(resolve => setTimeout(resolve, 2000))
undefined和null的區(qū)別

undefined表示變量未定義或未賦值的初始狀態(tài)值,是一個機(jī)器式標(biāo)識;
null表示一個空對象變量,本身是空對象指針,是一個程序式標(biāo)識。

object API11后報錯,可以使用以下

Const params : Record<string, Object> = router.getParams() as Record<string, Object>

渲染控制

渲染控制概述-渲染控制-學(xué)習(xí)ArkTS語言-基礎(chǔ)入門 | 華為開發(fā)者聯(lián)盟 (huawei.com)

Navigation路由

第6篇:Navigation系統(tǒng)路由表(推薦)-華為開發(fā)者論壇 | 華為開發(fā)者聯(lián)盟 (huawei.com)

異步鎖

ArkTSUtils.locks.AsyncLock

與Android不同的地方
  • 當(dāng)想使用組件占滿剩下的空間時,可使用layoutWeight
  • Scroll內(nèi)只能使用Column等布局,不能使用RelativeContainer,不然滾動失效
  • 基于上面的一點(diǎn),Scroll內(nèi)的Column布局可以使用RelativeContainer,但是需要height('auto')
  • Scroll默認(rèn)高度是100%的,所以如果有需要的話,需要給高度值
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容