import My from'../view/My'//引入子组件@Entry@Component
struct Index {@State showNumber2:number=0build(){Column(){Row(){Text('showNumber2:'+this.showNumber2).fontSize(40)}.width('100%')Row(){Button('加1').width('100%').height(50).onClick(()=>{this.showNumber2++})}.width('100%')Row(){My({
showNumber2:this.showNumber2,//由于@Prop装饰器是单向传递 所以可以使用回调函数的方式来修改父组件的值giveIndex:(data)=>{if(data){this.showNumber2=parseInt(data)}else{this.showNumber2=0}}})}.width('100%')}.height('100%').width('100%')}}
子组件
@Componentexportdefault struct My {@Prop showNumber2:number// 回调函数giveIndex=(data)=>{}build(){Column(){Row(){Text('@Prop装饰器:')TextInput({text:JSON.stringify(this.showNumber2)}).width('100%').type(InputType.Number).height(50).onChange((value)=>{//使用回调可以修改父组件的值//this.giveIndex(value)//传入修改无效if(value){this.showNumber2=parseInt(value)}else{this.showNumber2=0}})}.width('50%')}}}
import My from'../view/My'//引入子组件@Entry@Component
struct Index {@State showNumber1:number=0build(){Column(){Row(){Text('showNumber1:'+this.showNumber1).fontSize(40)}.width('100%')Row(){Button('加1').width('100%').height(50).onClick(()=>{this.showNumber1=this.showNumber1+1})}.width('100%')Row(){My({showNumber1:$showNumber1})}.width('100%')}.height('100%').width('100%')}}
子组件
@Componentexportdefault struct My {@Link showNumber1:numberbuild(){Column(){Row(){Text('@Link装饰器:')TextInput({text:JSON.stringify(this.showNumber1)}).width('100%').type(InputType.Number).height(50).onChange((value)=>{if(value){this.showNumber1=parseInt(value)}else{this.showNumber1=0}})}.width('50%')}}}
import My from'../view/My'//引入子组件@Entry@Component
struct Index {@Provide showNumber:number=0build(){Column(){Row(){Text('showNumber:'+this.showNumber).fontSize(40)}.width('100%')Row(){Button('加1').width('100%').height(50).onClick(()=>{this.showNumber=this.showNumber+1})}.width('100%')Row(){My()}.width('100%')}.height('100%').width('100%')}}
子组件
@Componentexportdefault struct My {@Consume showNumber:numberbuild(){Column(){Row(){Text('@Provide装饰器:')TextInput({text:JSON.stringify(this.showNumber)}).width('100%').type(InputType.Number).height(50).onChange((value)=>{if(value){this.showNumber=parseInt(value)}else{this.showNumber=0}})}.width('50%')}}}