四川省住房和城乡建设厅门户网站,php文件怎么打开,做微商如何引流推广怎么找客源,php网站后台模板鸿蒙组件数据传递方式有很多种#xff0c;下面详细罗列一下#xff1a;
注意#xff1a; 文章内名词解释#xff1a; 正向#xff1a;父变子也变 逆向#xff1a;子变父也变
**第一种#xff1a;直接传递
- 特点#xff1a;1、任何数据类型都可以传递 2、不能响应式…鸿蒙组件数据传递方式有很多种下面详细罗列一下
注意 文章内名词解释 正向父变子也变 逆向子变父也变
**第一种直接传递
- 特点1、任何数据类型都可以传递 2、不能响应式更新 正向 逆向都不行 3、适合纯ui渲染** 4、子组件需要初始化数据
Entry
Component
struct Demo04 {State message: string Hello World123State obj: Aa {name: zhangsan}build() {Row() {Column() {Text(基本数据类型)Son({ message: this.message })Divider().strokeWidth(2)Text(对象数据类型)Son({ obj:this.obj })Button(改变数据).onClick((event: ClickEvent) {this.message 666})}.width(100%)}.height(100%)}
}Component
struct Son {message: string obj:Aa {name:}build() {Row() {Text(this.message)Text(this.obj.name)}}
}class Aa{name: string
}第二种prop传递
特点1、只能传递基本数据类型 2、可以正向的响应式数据更新 3、适合父组件改变子组件数据但是子组件无法改变父组件数据的需求 4、子组件不需要初始化数据
Entry
Component
struct Demo04 {State message: string Hello World123State obj: Aa {name: zhangsan}build() {Row() {Column() {Text(this.message)Button(改变数据).onClick((event: ClickEvent) {this.message 666}).margin({bottom:20})Divider().strokeWidth(5)Text(基本数据类型)Son({ message: this.message })Divider().strokeWidth(2)Text(对象数据类型)// Son({ obj:this.obj })}.width(100%)}.height(100%)}
}Component
struct Son {Prop message:string// Prop obj:Aabuild() {Row() {Text(this.message)// Text(this.obj.name)Button(逆向改变).onClick(() {this.message 子变父不变// this.obj.name 子变父不变})}}
}class Aa{name: string
}第二种link传递
特点1、任何数据类型都可以 2、可以正向和逆向的响应式数据更新 3、适合子父组件一起更新数据的需求 4、子组件不需要初始化数据
Entry
Component
struct Demo04 {State message: string Hello World123State obj: Aa {name: zhangsan}build() {Row() {Column() {Text(this.message)Text(this.obj.name)Button(改变数据).onClick((event: ClickEvent) {this.message 666this.obj.name lisi123}).margin({bottom:20})Divider().strokeWidth(5)Text(基本数据类型)Son({message:$message})Divider().strokeWidth(2)Text(对象数据类型)// Son({obj:$obj})}.width(100%)}.height(100%)}
}Component
struct Son {Link message:string// Link obj:Aabuild() {Row() {Text(this.message)// Text(this.obj.name)Button(逆向改变).onClick(() {this.message 子变父不变// this.obj.name 子变父不变})}}
}class Aa{name: string
}鸿蒙-传智播客-博学谷