在初步瞭解了ArkTS語言之後,我們以一個具體的示例來說明ArkTS的基本組成。如下圖所示,當開發者點選按鈕時,文字內容從“Hello World”變為“Hello ArkUI”。
圖1 示例效果圖
本示例中,ArkTS的基本組成如下所示。
圖2 ArkTS的基本組成
說明
自定義變數不能與基礎通用屬性/事件名重複。
- 裝飾器: 用於裝飾類、結構、方法以及變數,並賦予其特殊的含義。如上述示例中@Entry、@Component和@State都是裝飾器,@Component表示自定義元件,@Entry表示該自定義元件為入口元件,@State表示元件中的狀態變數,狀態變數變化會觸發UI重新整理。
- UI描述:以宣告式的方式來描述UI的結構,例如build()方法中的程式碼塊。
- 自定義元件:可複用的UI單元,可組合其他元件,如上述被@Component裝飾的struct Hello。
- 系統元件:ArkUI框架中預設內建的基礎和容器元件,可直接被開發者呼叫,比如示例中的Column、Text、Divider、Button。
- 屬性方法:元件可以透過鏈式呼叫配置多項屬性,如fontSize()、width()、height()、backgroundColor()等。
- 事件方法:元件可以透過鏈式呼叫設定多個事件的響應邏輯,如跟隨在Button後面的onClick()。
- 系統元件、屬性方法、事件方法具體使用可參考基於ArkTS的宣告式開發正規化。
除此之外,ArkTS擴充套件了多種語法正規化來使開發更加便捷:
- @Builder/@BuilderParam:特殊的封裝UI描述的方法,細粒度的封裝和複用UI描述。
- @Extend/@Styles:擴充套件內建元件和封裝屬性樣式,更靈活地組合內建元件。
- stateStyles:多型樣式,可以依據元件的內部狀態的不同,設定不同樣式。