2016-07-01 1 views
1

Wenn ich die Daten sehe, die von der Form in der Konsole kommt es zweimal bekommengibt es die gleichen Werte 2 mal in der Konsole, angular2

Meine Vorlage

<div class="login jumbotron center-block"> 
    <h1>Login</h1> 
    <form #form ="ngForm" (ngSubmit)="onSubmit(form.value)"> 
<div class="form-group"> 
    <label for="username">Username</label> 
    <input type="text" ngControl ="email" class="form-control" id="emailh" placeholder="Username"> 
    </div> 
    <div class="form-group"> 
    <label for="password">Password</label> 
    <input type="password" ngControl ="phone" class="form-control" id="phoneh" placeholder="Password"> 
</div> 
    <button type="submit" class="btn btn-default">Submit</button> 
    <a [routerLink]="['/signup']">Click here to Signup</a> 
</form> 
</div> 

Meine Komponente,

import { Component } from '@angular/core'; 
    import { Router, ROUTER_DIRECTIVES } from '@angular/router'; 
    import { CORE_DIRECTIVES, FORM_DIRECTIVES } from '@angular/common'; 
    import { Http, Headers } from '@angular/http'; 
    import { contentHeaders } from '../headers/headers'; 
    import {Control,FormBuilder,ControlGroup,Validators} from '@angular/common'; 
@Component({ 

directives: [ ROUTER_DIRECTIVES, CORE_DIRECTIVES, FORM_DIRECTIVES ], 
templateUrl : "./components/login/login.html", 

}) 
export class Login { 

constructor(public router: Router, public http: Http) { 
} 

onSubmit(form:any) { 

    console.log(form); 
} 
    } 

meine Konsole,

Object {email: "[email protected]", phone: "getiyt"} 
Object {email: "[email protected]", phone: "getiyt"} 

Wenn ich die Daten sehe, die vom Formular in der Konsole kommen, bekomme ich zwei Mal, deshalb bin ich mir nicht sicher, warum das so kommt, als Ergebnis wird meine db auch zweimal mit einem einzelnen Datensatz gefüllt. Jemand kann herausfinden, wo ich falsch liege .

+1

Wie funktioniert es, wenn Sie 'type =" submit "' aus '

+0

lass mich es versuchen nw – MMR

+0

keine Änderung in der Konsole – MMR

Antwort

1

In Ihrem main.ts müssen Sie folgendes einstellen:

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

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

das Problem Diese lösen. Sehen Sie diese Plunker: http://plnkr.co/edit/uiYZkEWMyXWOkglHZu6N

Siehe auch die offizielle Dokumentation: https://angular.io/docs/ts/latest/guide/forms.html

Bildnachweis: Roberto Simonetti answer hier.

+0

Hallo @ Samuel, immer noch habe ich den gleichen Fehler nach dem Hinzufügen der oben genannten Schritte – MMR

+0

Ich habe versucht, jetzt mit meinem Code und es funktioniert einfach perfekt. – Samuel

+0

Hallo @ Samuel, die Konsole zeigt immer noch die gleichen Ergebnisse – MMR

Verwandte Themen