HarmonyOS 接口回调的写法

一个页面引用了一个公共组件,希望获取公共组件的某个控件的点击事件。

1,page1中引入了NavigationBar组件:

NavigationBar({ title: this.bundleName, rightTitle: ‘切换城市’, flag: true, url: ‘’ })

2,公共组件NavigationBar中:

Text(this.rightTitle)
  .fontSize(16)
  .width('20%')
  .fontColor($r('app.color.main_color'))
  .margin({ right: 10 })
  .visibility(this.flag ? Visibility.Visible : Visibility.Hidden)
  .onClick(() => {
    //希望把该点击事件抛出到引用该公共组件的页面中去,该怎么写?
  })
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

希望能在page1中获取到NavigationBar的这个Text的点击事件(类似于java中的接口回调),该怎么写?

HarmonyOS
2024-12-26 14:55:36
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

请参考示例代码:

export interface MyInterDemo {
  func_1: () => void;
  func_2: () => boolean;
  func_3: (arg: string) => void;
}

@Entry
@Component
struct TestInterfacePage {

  testInter(inter: MyInterDemo) {
    console.log('testInter');
    inter.func_1();
    inter.func_2();
    inter.func_3('hello');
  }

  build() {
    Row() {
      Column() {
        Button('Test interface')
          .onClick(() => {
            let demo: MyInterDemo = {
              func_1: () => {
                console.log('func_1');
              },
              func_2: () => {
                console.log('func_2');
                return true;
              },
              func_3: (arg: string) => {
                console.log('func_3:' + arg);
              }
            }
            this.testInter(demo);
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
分享
微博
QQ
微信
回复
2024-12-26 17:46:30
相关问题
HarmonyOS ArkTS接口案例
1509浏览 • 1回复 待解决
HarmonyOS ArkTS接口案例问题
2265浏览 • 1回复 待解决
接口内定义匿名语法
2536浏览 • 1回复 待解决
HarmonyOS 事件
1052浏览 • 1回复 待解决
HarmonyOS 点击事件方法
1066浏览 • 1回复 待解决
HarmonyOS killAllProcesses()无成功
878浏览 • 1回复 待解决
HarmonyOS Watch没有
831浏览 • 1回复 待解决
HarmonyOS Web组件
1221浏览 • 1回复 待解决
HarmonyOS onNewWant未
628浏览 • 1回复 待解决
HarmonyOS onAreaChange方法问题
997浏览 • 1回复 待解决
HarmonyOS 人脸识别问题
865浏览 • 1回复 待解决
HarmonyOS Slider值问题
763浏览 • 1回复 待解决
HarmonyOS 屏幕亮度变化
726浏览 • 1回复 待解决
HarmonyOS 音频output 次数太少
1334浏览 • 1回复 待解决
HarmonyOS 组件渲染完成之后
855浏览 • 1回复 待解决