API9的写法

API10 不允许改变对象的方法, 

 所以这里不需要直接定义class 使用interface 

export interface DemoController{
  update:()=>void
}

在aboutAppear 中对方法进行重写

//定义控制器接口
export interface DemoController{
  update:()=>void
}

@Component
export default struct BuiDemo {
   //定义控制器属性
  controller:DemoController|null = null ;
  build() {
    Column() {  }
  } 
  nextPage(){}

  aboutToAppear(){
    if(this.controller) { //如果外部有传控制器,在这里对方法进行赋值
      this.controller.update = () => {
        this.nextPage();
      }
    }
  } 
}

外部使用的写法:

以上,编译可过 

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐