《鸿蒙第一行代码》第九课 状态管理Link
@Link不能自己初始化,需要@State传值初始化,并且它们会相互影响
简单示例代码:
@Entry
@Component
struct Link_Modifier {
@State date: string = "时间:" + new Date().getTime(); // 定义@State变量
build() {
Column({space: 10}) {
Text(`父组件【${this.date}】`)
.fontSize(20)
.backgroundColor(Color.Pink)
LikeItem({time: $date}) // 初始化子组件time属性使用$符号
LikeItem({time: $date}) // 初始化子组件time属性使用$符号
Button('更新时间')
.onClick(() => {
this.date = "时间:" + new Date().getTime(); // 变更date,子组件的对应属性也变化
})
}
.width('100%')
.height('100%')
.padding(10)
}
}
@Component struct LikeItem {
@Link time: string;
build() {
Text(`子组件【${this.time}】`)
.fontSize(20)
.backgroundColor(Color.Grey)
.onClick(() => {
this.time = "时间:" + new Date().getTime(); // 变更time,父组件的对应属性也变化
})
}
}
《鸿蒙第一行代码》项目代码结构图:
有需要《鸿蒙第一行代码》项目源码的私信我,我每天都看私信的
标签:鸿蒙,代码,组件,Link,第九课,time,date From: https://blog.csdn.net/u010074743/article/details/144855346