我怎么知道什么时候在提交按钮中调用指令?

How do I know when a directive is called in submit btn?

我正在寻找一种方法来判断当我单击提交按钮时指令何时被调用。

我有一个指令可以在用户选择键盘快捷键时进行监听。

我如何判断是否使用指令触发了快捷方式?

//Directive
@Directive({
   selector: [shortcut]
})
export class shortCutDirective{
    @HostListener('window:keyup', ['event'])
    if(event.keyCode == 32){
       console.log('short cut triggered');
    }
}

@Component({
  selector: 'app-root',
  template: `      
      <ng-template>
          <form ngSubmit = login() [shortcut]> 
              <button type = submit>
                      <span>Login </span>
              </button>
      </ng-template>
  `})
export class AppComponent {
    login() {
        console.log('Login');
    }

    loginByShortCutMethod() {
        console.log('Short cut was used');
    }
}

所以你是在用空格键检查,对吧? keycode == 32。仅出于测试目的,单击或悬停它以查看其控制台日志记录。

也只使用名称不绑定的属性,去掉方括号,如下所示:

<form ngSubmit = login() shortcut>