2016-08-09 21 views
0

aufgerufen Die Methode wird zweimal aufgerufen Wenn das ng-Submit-Ereignis in Angular auftritt 2. Wie mache ich eine Call-Methode nur einmal? Warum ruft Methode zweimal im Winkel 2 auf?ng-submit-Ereignis wird zweimal in der Angular 2

import { Component } from '@angular/core'; 

@Component({ 
    moduleId: module.id, 
    selector: 'app-form-ngform', 
    template: ` 
    <form (ngSubmit)="onSubmit()"> 
     <button type="submit" class="btn btn-default">Submit</button> 
    </form> 
` 
}) 
export class FormNgformComponent { 
    onSubmit() { 
    alert('test'); 
    } 
} 
+2

ich das Problem nicht in [plunkr hier] (http://plnkr.co/edit/oUYE87aBwP7m52CJ6e4e?p=preview) mit '2.0.0-rc.4 wiedergeben kann ' –

+0

ist es ein gutes. Vielen Dank. – user3736174

+0

Was meinst du? kannst du bitte plunkr reproduzieren? –

Antwort

3

Wahrscheinlich ein anderes Duplikat dieser:

Angular 2 Form Getting Duplicated?

Vergewissern Sie sich, Bootstrapping Ihre App wie folgt aus:

import {disableDeprecatedForms, provideForms} from '@angular/forms'; 

bootstrap(AppComponent, [ 
    disableDeprecatedForms(), 
    provideForms() 
]); 
+0

es funktioniert. Vielen Dank. – user3736174

0

Aktualisierung der Lösung als disableDepricatedForms und provideForms sind veraltet per zur eckigen Version 2.0.0.rc6.

Formen: veraltet provideForms() und disableDeprecatedForms() Funktionen wurden entfernt. Bitte importieren Sie stattdessen das FormsModule oder das ReactiveFormsModule von @ angular/forms.

siehe: https://github.com/angular/angular/compare/2.0.0-rc.5...2.0.0-rc.6