TypeError: Cannot create property 'Prüfung' auf string '[email protected]' bei setUpControl
Ich Gesicht Problem in formGroup
. Zuerst auf URL-Basis nehme ich ein paar Wert-und Aufruf-API für das abrufen von bestimmten Benutzer-Daten für das pre-Feld text.
register.html
<form [formGroup]="form" (ngSubmit)="onSubmit(form.value)" class="form-horizontal">
<div class="form-group row">
<label for="inputEmail3" class="col-sm-4 ">Username</label>
<div class="col-sm-8">
<input [formControl]="email" type="text" class="form-control" id="inputEmail3" placeholder="Email Address" [readonly]="isReadOnly">
</div>
</div>
</form>
registrieren.Komponente.ts
import { Component } from '@angular/core';
import { FormGroup, AbstractControl, FormBuilder, Validators } from '@angular/forms';
import { Router, ActivatedRoute } from '@angular/router';
import { EmailValidator, EqualPasswordsValidator } from '../../theme/validators';
@Component({
selector: 'register',
templateUrl: './register.html',
})
export class Register {
public form: FormGroup;
public email: AbstractControl;
public username: string;
constructor(private registerService: RegisterService, fb: FormBuilder, private router: Router, private route: ActivatedRoute) {
this.form = fb.group({
'email': ['', Validators.compose([Validators.required])]
.... etc..
});
this.email = this.form.controls['email'];
this.registerService.getUser({ userId: "asdasd2123da2das" }).subscribe(posts => {
if (posts) {
var userObj = posts.json();
console.log("userObj : ", userObj.data);
if (userObj.data && userObj.data[0].email) {
this.email = this.username = userObj.data[0].email; //ouput : [email protected]
this.isReadOnly = true;
this.router.navigateByUrl('/register');
} else {
alert("You are Not Autorize to access this Page");
this.router.navigateByUrl('/login');
}
}
});
}
}
Fehler Details :
TypeError: Cannot create property 'validator' on string '[email protected]'
at setUpControl (http://localhost:3004/vendor.dll.js:9739:23)
at FormControlDirective.ngOnChanges (http://localhost:3004/vendor.dll.js:44196:89)
at Wrapper_FormControlDirective.ngDoCheck (/ReactiveFormsModule/FormControlDirective/wrapper.ngfactory.js:50:18)
- Mein service im Bereich des Moduls deklariert Anbieter verursacht die gleiche Fehlermeldung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
bitte versuchen Sie, wie diese änderung
[formControl]
zuformControlName
.Und legen Sie die Ausgabe in das Eingabefeld bitte den folgenden Punkt, die Linie
this.form.patchValue
this.email = this.username = userObj.data[0].email
ich habe Wert, aber es nicht in der E-Mail-Felder.<input formControlName="email" [(ngModel)]="email" type="text" class="form-control" id="inputEmail3" placeholder="Email Address" [readonly]="isReadOnly">
Kann ich `[(ngModel)] = "E-Mail" . Es ist Arbeit, aber er ist Ihr jede Nebenwirkung[]
ausformControl
aber ich wusste nicht, dass es sollteformControlName
. Danke.Für komplette Informationen über jede Art von form, siehe Reaktive Formen-und Template-gesteuerte Formen aus der https://angular.io/guide/forms-overview website. Sie fehlen eigentliche syntax für die Gruppierung von Formular-Steuerelemente und Registrieren Sie das Steuerelement in der Vorlage.beide sind gültig, im anderen Fall