赞
踩
@State 装饰的变量值修改时,页面也会随之更新,不使用@State修饰符定义的变量更新后页面不会刷新,必须有初始化的值
@Prop 与@State有相同的语义,但初始化方式不同,不允许有初始化的值。@Prop装饰的变量必须使用其父组件提供的@State变量进行初始化,允许组件内部修改@Prop变量,但更改不会通知给父组件,即@Prop属于单向数据绑定。
@Link 装饰的变量可以和父组件的@State变量建立双向数据绑定,需要注意的是:@Link变量不能在组件内部进行初始化。且在使用link时,传递的参数要使用 $ 符合,否则会报错(但不影响使用)
- // state <----> link 数据传递时,要使用 $ 符号,而不能使用 this.name,否则会报错
-
- itemLink({data:$name})
@Builder 装饰的自定义函数内可以写UI布局的内容,例如:装饰后可以写Row布局函数
@Extend() 用来装饰某一类标签,括号内必须写上要装饰的标签名,例如:@Extend(Text)表示要该装饰器装饰的函数内部只能写与Text有关的样式设置,不能写其他无关的内容,否则会报错
@Entry 入口文件装饰器,哪个组件使用了这个装饰器,哪个组件就可以在页面上展示出来
@Component struct 装饰的是一个一个的组件
stateStyles() 多态样式,例如:
- Button(this.message)
- .stateStyles({ // 各种状态下的样式设置
- normal:{ // 默认状态
- .backgroundColor(Color.Red)
- },
- focused:{ // 获取到焦点状态
- .backgroundColor(Color.Pink)
- },
- pressed:{ // 按压状态
- .backgroundColor(Color.Blue)
- },
- disabled:{ // 禁用状态
- .backgroundColor(Color.Black)
- }
- })
@Provide & @Consume 多层嵌套组件之间的传值
* 爷孙组件或者多层嵌套组件之间进行传值时,可以使用 @Provide & @Consume 进行配合使用
* 在使用的过程中,要么设置一样的变量名,要么设置一个一样的别名进行关联
* 同样的变量名实例:
* @Provide wechat: string = '微信公众号'
* @Consume wechat: string
* 同样的别名示例:
* @Provide('theShy') wechat: string = '微信公众号'
* @Consume('theShy') sty: string
@Watch( ' 函数 ' ) 用来监听变量,当变量发生改变时,自动执行括号内的函数(注:不要在这个函数内做任何改变该变量值得操作,否则会卡死报错)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。