鸿蒙当中@prop装饰器的使用方法、
想要学习更多的鸿蒙知识可以加入张恩瑞班级
链接:https://developer.huawei.com/consumer/cn/training/classDetail/2a307254409e4823bdc1cc38a7470f55?type=1?ha_source=hmosclass&ha_sourceId=89000248
@Prop——父子单项传递
父子传递装饰器 单项
当我们用之前的@State修饰符修饰的时候,遇到父组件传递的时候,我们的子组件,只能接收从父组件第一次创建的时候,渲染的数据,当数据更改的时候,不会从新渲染
如果我们想要使用父传子的时候,就可以使用这个修饰符
使用方法
首先,我们先再我们的父组件,定义一个用@State修饰的参数
然后,再子组件也定义一个用@Prop修饰的参数,
然后,再父组件调用子组件的时候,把参数传过去
这样当父组件变化是时候,子组件也会发生变化
示例代码如下
@Entry
@Component
struct PropCase {
@State
num:number = 0
build() {
Column({space:20}){
Text('父组件: '+this.num)
.onClick(()=>{
this.num++
})
PropChild({pnum:this.num})
}
.justifyContent(FlexAlign.Center)
.width('100%')
.height('100%')
}
}
@Component
struct PropChild {
@Prop
pnum:number = 0
build() {
Column(){
Divider()
.width(4)
Text('子组件: '+this.pnum)
.onClick(()=>{
this.pnum ++
})
}
.width('100%')
}
}
注意,这个只能父组件去改子组件,但是呢,子组件,是不能去改父组件的
当我们再子组件对数据进行变化的时候,它只会把子组件里面的内容进行修改,但是父组件是不变的,当父组件进行修改的时候,子组件就会从新去进行该变
并且这个可以支持无限传递,子组件传子组件,然后再传子组件
想要了解更多鸿蒙相关的知识,请加入班级进行学习,班级连接如下
张恩瑞班级链接:https://developer.huawei.com/consumer/cn/training/classDetail/2a307254409e4823bdc1cc38a7470f55?type=1?ha_source=hmosclass&ha_sourceId=89000248
更多推荐


所有评论(0)