2016-10-19 7 views
1

Angular 2.0.1のフォームでは、returnキーを押すか送信ボタンをクリックするたびにngSubmit出力が2回起動されます。私はすでに、アプリケーションモジュールでFormsModuleを含めている:私はいくつかの答え(のようなthis 1)に従うことを試みましたが、disableDeprecatedFormsprovideFormsはRC6以来、削除されたフォームの起動ngSubmitをAngular 2.0.1で2回実行します。

@NgModule({ 
    imports: [ 
    BrowserModule, 
    HttpModule, 
    FormsModule, 
    routing 
    ], 
    declarations: [ 
    // ... 
    ], 
    providers: [ 
    // ... 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule {} 

。私もDeprecatedFormsModuleをインポートしようとしましたが、削除されているようです。

ngSubmitが2回発生しないようにするにはどうすればよいですか?

UPDATE:

私はそれは既知の問題ですので、テンプレートは、この場合には問題とは思わなかったし、それがアプリケーションにどのような形態のために起こりますが、ここでは一例として、のいずれかの形式に従ってください(ストリッピング不要なクラスとタグ)のいくつかの後

<form (ngSubmit)="login(user)"> 
    <input [(ngModel)]="user.username" name="username" type="email" id="username" required> 
    <label for="username">Email</label> 

    <input [(ngModel)]="user.password" name="password" type="password" id="password" required> 
    <label for="password">Password</label> 

    <button> 
    Submit 
    </button> 
</form> 
+0

ボタンを含むHTMLでフォームコードを表示します。 – micronyks

+0

はフォームタグでフォームを2回提出している可能性があります。次にsubmitという名前のボタンに2回目に送信します。 –

+0

フォームのいずれかのテンプレートを追加しました。 – mrodrigues

答えて

0

いくつかのコメントは、私が唯一の問題は完全に何か他のものだったことを理解することがPlunkerでエラーを再現してみました。 2回発砲されたのはngSubmitではなく、HTTPリクエストでした。

同じhttp.post(args)に2回購読していましたが、私は.share()に電話する必要がありますので、すべての購読(https://stackoverflow.com/a/37241863/2908285)に対して実行されません。

関連する問題