赞
踩
使用方式:@State count: number = 1
@State状态数据具有以下特征:
支持多种类型:允许class、number、boolean、string强类型的按值和按引用类型。允许这些强类型构成的数组,即Array、Array、Array、Array。不允许object和any。
支持多实例:组件不同实例的内部状态数据独立。 内部私有:标记为@State的属性是私有变量,只能在组件内访问。
需要本地初始化:必须为所有@State变量分配初始值,将变量保持未初始化可能导致框架行为未定义。
创建自定义组件时支持通过状态变量名设置初始值:在创建组件实例时,可以通过变量名显式指定@State状态属性的初始值。
@Entry @Component struct Page1 { /* 1:不允许object和any 2:标记为@State的属性是私有变量,只能在组件内访问 3:必须为所有@State变量分配初始值,将变量保持未初始化可能导致框架行为未定义。 4:创建自定义组件时支持通过状态变量名设置初始值:在创建组件实例时,可以通过变量名显式指定@State状态属性的初始值。 */ @State count: number = 1 private toggleClick() { this.count += 1 // 当count被修改,build函数会被重新调用,刷新UI } build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Text(`click times: ${this.count}`) .fontSize(50) .fontWeight(FontWeight.Bold) .onClick(() => this.toggleClick()) } .width('100%') .height('100%') } }
1.1:疑问
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。