鸿蒙 装饰器 @State、@Prop、@Link 等说明

首先要明白什么是“状态变量”?即被状态装饰器(@State、@Prop、@Link、@Provide、@Consume)修饰的变量,比如 @State str : string='';  str就是状态变量。状态变量值的改变会引起UI界面重新渲染。

@State

@State装饰的变量,是私有的,只能被组件内部访问,在声明时必须指定其类型和本地初始化。

@Prop

父组件与子组件单向同步,@Prop装饰的变量变化后不会同步影响其父组件。

@Link

父、子组件双向同步,子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。

@Provide和@Consume

应用于与后代组件的双向数据同步,适用于状态数据在多个层级之间传递的场景。不同于上文提到的父子组件之间的状态传递,@Provide和@Consume实现跨层级传递,不受限父、子之间,还可以父、孙之间传递(跨过子组件)。

可以通过相同的变量名或者相同的变量别名绑定,变量类型必须相同。比如,@Provide num : number&#

你可能感兴趣的:(鸿蒙NEXT开发实战,harmonyos)