无法从打字稿中的异步方法发出事件

Can not emit event from async method in typescript

我有一个 child 组件,它应该发出一个 event.However 我希望 parent 处理程序方法是 async。似乎 parent在这种情况下没有收到发出的 object:

Parent 组件

<computer-create-modal (onsubmit)="handleCreateAsync($value)"
                       >
          </computer-create-modal>

export class IndexComponent implements OnInit {
async handleCreateAsync(computer:Computer){
    console.log(computer); //always undefined
    if(computer=null && computer.id !=null){

    }

  }
}

Child 组件

<input class="form-control" type="text" [(ngModel)]="id" name="id" id="id"/>
<input class="form-control" type="text" [(ngModel)]="username"  name="username" id="name"/>

export class ComputerCreateModalComponent implements OnInit {
  @Output()
  protected onsubmit:EventEmitter<Computer>=new EventEmitter<Computer>();

  protected username:string="";
  protected id:string="";


  async onSubmitAsync(){

          let comp:Computer={
            id:this.id,
            username:this.username
          };
          console.log("from child");
          console.log(comp);
          this.onsubmit.emit(comp);
      }

}

我已经尝试使发出事件的 child 方法既同步又不同步。 为什么我的 parent 没有得到值?

P.S 我没有添加 child 的 submit 逻辑,因为在这种情况下它并不重要。

这是一个愚蠢的 one.The 问题是我没有遵循使用 (...)=method($event) 的惯例而是写了 $value.

所以问题出在为子级的输出绑定处理程序时的父级:

<computer-create-modal  (onsubmit)="handleCreateAsync($value)"></computer-create-modal>

$value 更改为 $event 解决了问题。