Angular 有没有办法从外部按钮提交角度2模型驱动表单(反应表单)?

Angular 有没有办法从外部按钮提交角度2模型驱动表单(反应表单)?,angular,Angular,我正在尝试从标签外的按钮提交我的反应表单。在此之前,此表单由模板驱动,我可以执行以下操作: <button (click)="f.ngSubmit.emit()"></button> 我可以模拟这种行为,在窗体内部编写隐藏按钮,并为外部按钮设置单击事件: <form [formGroup]="loginForm" (ngSubmit)="login()"> ... <button #submit type="submit" style="v

我正在尝试从标签外的按钮提交我的反应表单。在此之前,此表单由模板驱动,我可以执行以下操作:

<button (click)="f.ngSubmit.emit()"></button>
我可以模拟这种行为,在窗体内部编写隐藏按钮,并为外部按钮设置单击事件:

<form [formGroup]="loginForm" (ngSubmit)="login()">
   ...
   <button #submit type="submit" style="visibility:hidden"></button>
</form>

<button (click)="submit.click"></button>

...
这似乎不是最好的方法。。。还有更好的办法吗

多谢各位

编辑:

如果我在表单中添加一个id字段,效果会很好,但我真的认为这不是最好的方法

<form id="loginF" [formGroup]="loginForm" (ngSubmit)="login()">
   ...
</form>

<button form="loginF" (click)="submit.click"></button>

...
使用以下方法:

ViewChild('f') f: FormGroupDirective

要从表单外部调用提交按钮,应使用按钮上的“表单属性”引用所需表单:

<form [formGroup]="loginForm" (ngSubmit)="login()" id="thatForm">
  ...
</form>    
<button type="submit" form="thatForm"></button>

...

正如你所看到的,这是一个简单的旧HTML,不是一个奇怪的黑客,它在所有优秀的浏览器上都受支持(aka,除了IE()

看看这个Thank you@styopdev。我已经看到了这些问题,正如我在EDIT上写的,现在可以了……我不知道是否有更好的方法。
<form [formGroup]="loginForm" (ngSubmit)="login()" id="thatForm">
  ...
</form>    
<button type="submit" form="thatForm"></button>