当前位置:   article > 正文

HarmonyOS二:ArkTS基础知识-常用得装饰器_arkts所有装饰器说明

arkts所有装饰器说明

@State  装饰的变量值修改时,页面也会随之更新,不使用@State修饰符定义的变量更新后页面不会刷新,必须有初始化的值

@Prop  与@State有相同的语义,但初始化方式不同,不允许有初始化的值。@Prop装饰的变量必须使用其父组件提供的@State变量进行初始化,允许组件内部修改@Prop变量,但更改不会通知给父组件,即@Prop属于单向数据绑定。

@Link  装饰的变量可以和父组件的@State变量建立双向数据绑定,需要注意的是:@Link变量不能在组件内部进行初始化。且在使用link时,传递的参数要使用 $ 符合,否则会报错(但不影响使用)

  1. // state <----> link 数据传递时,要使用 $ 符号,而不能使用 this.name,否则会报错
  2. itemLink({data:$name})

@Builder   装饰的自定义函数内可以写UI布局的内容,例如:装饰后可以写Row布局函数

@Extend() 用来装饰某一类标签,括号内必须写上要装饰的标签名,例如:@Extend(Text)表示要该装饰器装饰的函数内部只能写与Text有关的样式设置,不能写其他无关的内容,否则会报错

@Entry 入口文件装饰器,哪个组件使用了这个装饰器,哪个组件就可以在页面上展示出来

@Component   struct  装饰的是一个一个的组件

stateStyles()   多态样式,例如:
  1. Button(this.message)
  2. .stateStyles({ // 各种状态下的样式设置
  3. normal:{ // 默认状态
  4. .backgroundColor(Color.Red)
  5. },
  6. focused:{ // 获取到焦点状态
  7. .backgroundColor(Color.Pink)
  8. },
  9. pressed:{ // 按压状态
  10. .backgroundColor(Color.Blue)
  11. },
  12. disabled:{ // 禁用状态
  13. .backgroundColor(Color.Black)
  14. }
  15. })
@Provide & @Consume  多层嵌套组件之间的传值
* 爷孙组件或者多层嵌套组件之间进行传值时,可以使用 @Provide & @Consume 进行配合使用
* 在使用的过程中,要么设置一样的变量名,要么设置一个一样的别名进行关联
* 同样的变量名实例:
* @Provide wechat: string = '微信公众号'
* @Consume wechat: string
* 同样的别名示例:
* @Provide('theShy') wechat: string = '微信公众号'
* @Consume('theShy') sty: string

@Watch( ' 函数 '  ) 用来监听变量,当变量发生改变时,自动执行括号内的函数(注:不要在这个函数内做任何改变该变量值得操作,否则会卡死报错)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/297778
推荐阅读
相关标签
  

闽ICP备14008679号