2017-02-03 5 views
17

Angular 2でフォームを送信するには、フォームの "submit"または "ngSubmit"イベントを使用できます。submitとAngular 2のngSubmit

<form #frm="ngForm" (submit)="add(frm.value)"> 
    ... 
</form> 

<form #frm="ngForm" (ngSubmit)="add(frm.value)"> 
    ... 
</form> 

2つの違いは何ですか?このチュートリアルから

答えて

10

https://blog.thoughtram.io/angular/2016/03/21/template-driven-forms-in-angular-2.html

はしかし、ngSubmitは ハンドラのコードは、(提出のデフォルトの動作です)投げると は、実際のHTTP POST要求が発生したときに、フォームが提出していないことを保証します。のではなく、この としてngSubmitを使用してみましょうすることがベストプラクティスです:私は `新しいエラー(「rekt」)を投げ置く場合[email protected]を使用して

+1

;私の' ngSubmit'は、それを呼び出す関数で 'ラインサーバが死んだときにサーバに実際のHTTPリクエストを行います。私がこれを止めるために知っている唯一の方法は、この答えに従うことです:http://stackoverflow.com/a/40055510/232629(TL; DR:テンプレートから '$ event'を送り、' event.preventDefault (); 'あなたの' ngSubmit'の最初のものとして) –