@Entry裝飾的自定義組件將作為頁面的入口。在單個頁面中可以使用多個@Entry裝飾不同自定義組件。
解釋:
-
@Entry
的核心作用與唯一性:@Entry
裝飾器用于明確聲明該組件是一個頁面的入口組件,即整個頁面的“根”和“起點”。當UIAbility實例加載并顯示頁面時,系統需要明確知道從哪個組件開始構建整個視圖樹。如果存在多個@Entry
,系統將無法確定唯一的頁面入口,這會導致編譯錯誤或未定義的運行時行為。 -
頁面結構要求:一個完整的頁面UI是由一個
@Entry
組件作為根節點,并通過其build()
方法逐級嵌套其他組件(如@Component
組件)構建而成的單一組件樹。整個頁面的生命周期和路由管理都是基于這棵唯一的組件樹。 -
生命周期管理的需要:只有被
@Entry
裝飾的組件才可以調用頁面的生命周期回調函數(如onPageShow
,onPageHide
,onBackPress
)。如果允許多個@Entry
,頁面生命周期的管理會變得混亂且無法定