HarmonyOS Prop的用法

// A定义
@State factorChange: number = 0

// B定义
@Prop factorChange: number = 0
@State logoMarginTop: number = this.factorChange * 2

// 关联
TopBarView({ factorChange: this.factorChange })

A的factorChange发生变化时,B的factorChange发生了变化(单向同步),但是B的logoMarginTop没有变化。希望logoMarginTop也发生变化要怎么做?

HarmonyOS
2024-12-23 16:20:41
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

以在B内部给factorChange添加一个观察者,然后在观察回调内给logoMarginTop赋值,以下为代码示例:

// xxx.ets
import image from '@ohos.multimedia.image'

@Entry
@Component
struct SelectExample {
  @State factorChange: number = 0

  build() {
    Column() {
      Text(this.factorChange + '')
        .onClick(() => {
          this.factorChange++
        })
      TopBarView({ factorChange: this.factorChange })
    }.width('100%')
  }
}

@Component
struct TopBarView {
  @Prop @Watch('factorDidChange') factorChange: number = 0
  @State logoMarginTop: number = 0

  build() {
    Column() {
      Text('TopBarView')
      Text('factorChange=' + this.factorChange)
      Text('logoMarginTop=' + this.logoMarginTop)
    }
  }

  factorDidChange() {
    this.logoMarginTop = this.factorChange * 2
  }
}
分享
微博
QQ
微信
回复
2024-12-23 18:29:10
相关问题
HarmonyOS NativeXComponent用法
450浏览 • 1回复 待解决
HarmonyOS 开发@Prop问题
513浏览 • 1回复 待解决
HarmonyOS PinchGesture用法咨询
732浏览 • 1回复 待解决
关于measureTextSize用法
1058浏览 • 1回复 待解决
HarmonyOS NavPathStack 用法
439浏览 • 1回复 待解决
ArkTS关于反射用法
263浏览 • 1回复 待解决
HarmonyOS 多个@Prop变化顺序问题
762浏览 • 1回复 待解决
HarmonyOS @Prop参数传递问题
406浏览 • 1回复 待解决
InputMethodAbility用法是怎样
8156浏览 • 1回复 待解决
HarmonyOS axios用法咨询
559浏览 • 1回复 待解决
getWindow().setBackground用法
5269浏览 • 1回复 待解决
HarmonyOS 服务卡片metadata用法
499浏览 • 1回复 待解决
HarmonyOS Matrix2D用法问题
422浏览 • 1回复 待解决
HarmonyOS 在@State和@Prop单向传输场景
277浏览 • 1回复 待解决
HarmonyOS 剪贴板用法
374浏览 • 1回复 待解决
HarmonyOS RN关于drawer、stack用法问题
471浏览 • 1回复 待解决
resource中string.json用法
7590浏览 • 1回复 已解决
HarmonyOS TS转ArkTS用法问题
654浏览 • 1回复 待解决
组件入参加@prop和不加区别
2095浏览 • 1回复 待解决
系统监听注册on和off用法问题
2314浏览 • 1回复 待解决