HarmonyOS 有没有办法让一个@Link双向绑定的变量,同时支持不与父组件绑定,而是手动赋值

有一个公用的Component,可能用在多种父组件下,但是其中有个变量有时需要跟父组件双向绑定,有时不需要,而是组件内部自己赋值。目前@Prop支持通过默认值达到这种灵活的目的,但是这样就只能单向绑定了,@Link能否也支持这样?或者有没有替代方案?

HarmonyOS
2024-08-10 12:43:07
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

可参考如下demo:

@Entry 
@Component 
struct PageOne { 
  @State message: string = 'Hello WorldPageOne'; 
  @State nums:number = 0; 
  @State aa:string = 'sasadefr'; 
 
  aboutToAppear(): void { 
  } 
 
  build() { 
    Row() { 
      Column() { 
        Text(this.message) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
        Child({aa:this.aa,nums:this.nums}) 
        Button('同步') 
          .onClick(()=>{ 
            this.nums++ 
            this.aa+='1'; 
          }) 
        Button('不同步') 
          .onClick(()=>{ 
            this.aa+='1'; 
          }) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
} 
 
@Component 
struct Child{ 
  @Link aa:string 
  @State aa1:string = 'sasa'; 
  @Link@Watch('onChage') nums:number; 
 
  onChage(){ 
    console.log('要同步') 
    this.aa1=this.aa 
  } 
 
  build() { 
    Column(){ 
      Text(this.aa1) 
        .fontSize(50) 
        .fontWeight(FontWeight.Bold) 
    } 
  } 
}
分享
微博
QQ
微信
回复
2024-08-10 18:23:36
相关问题
ArkTS简单类型变量双向数据绑定
1276浏览 • 1回复 待解决
HarmonyOS $$双向绑定问题
142浏览 • 1回复 待解决
HarmonyOS 弹窗不与页面绑定demo
150浏览 • 1回复 待解决
HarmonyOS 有没有办法动态添加组件
208浏览 • 1回复 待解决
组件与子组件使用@Link双向同步
823浏览 • 1回复 待解决
HarmonyOS如何实现双向数据绑定
336浏览 • 1回复 待解决
HarmonyOS 无法使用$$双向绑定
596浏览 • 1回复 待解决