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(() => {
    //希望把该点击事件抛出到引用该公共组件的页面中去,该怎么写?
  })

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

HarmonyOS
1天前
浏览
收藏 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%')
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS ArkTS接口案例
567浏览 • 1回复 待解决
HarmonyOS ArkTS接口案例问题
776浏览 • 1回复 待解决
接口内定义匿名语法
1731浏览 • 1回复 待解决
HarmonyOS 事件
78浏览 • 1回复 待解决
HarmonyOS killAllProcesses()无成功
192浏览 • 1回复 待解决
HarmonyOS 点击事件方法
59浏览 • 1回复 待解决
HarmonyOS Watch没有
42浏览 • 1回复 待解决
HarmonyOS Web组件
236浏览 • 1回复 待解决
HarmonyOS onNewWant未
56浏览 • 1回复 待解决
HarmonyOS 音频output 次数太少
392浏览 • 1回复 待解决
HarmonyOS 人脸识别问题
46浏览 • 1回复 待解决
HarmonyOS Slider值问题
48浏览 • 1回复 待解决
HarmonyOS onAreaChange方法问题
62浏览 • 1回复 待解决
HarmonyOS 屏幕亮度变化
43浏览 • 1回复 待解决
HarmonyOS 组件渲染完成之后
51浏览 • 1回复 待解决
HarmonyOS 关于$$.this写法
31浏览 • 1回复 待解决