@Entry装饰的自定义组件将作为页面的入口。在单个页面中可以使用多个@Entry装饰不同自定义组件。
解释:
-
@Entry
的核心作用与唯一性:@Entry
装饰器用于明确声明该组件是一个页面的入口组件,即整个页面的“根”和“起点”。当UIAbility实例加载并显示页面时,系统需要明确知道从哪个组件开始构建整个视图树。如果存在多个@Entry
,系统将无法确定唯一的页面入口,这会导致编译错误或未定义的运行时行为。 -
页面结构要求:一个完整的页面UI是由一个
@Entry
组件作为根节点,并通过其build()
方法逐级嵌套其他组件(如@Component
组件)构建而成的单一组件树。整个页面的生命周期和路由管理都是基于这棵唯一的组件树。 -
生命周期管理的需要:只有被
@Entry
装饰的组件才可以调用页面的生命周期回调函数(如onPageShow
,onPageHide
,onBackPress
)。如果允许多个@Entry
,页面生命周期的管理会变得混乱且无法定