У меня есть кнопка входа.Я использую formGroup и formBuilder для сбора данных формы, и я использую navCtrl и navParams для передачи и получения навигационных параметров. У меня есть область формы, где я собираю данные формы, и после нажатия кнопки отправки я получаю эту ошибку:
Ошибка: FormGroup ожидает экземпляр FormGroup.Пожалуйста, передайте один.
Ниже приведены мои 2 файла:
home.html:
<ion-content padding style="background-color: #c591ddad">
<h2 large>Welcome</h2>
<div class="purpleBlock">
<button ion-button large color="light" style="text-transform : none;" (click)="login()">
Login
</button>
<div *ngIf="isLogin">
<form [formGroup]="loginForm" (ngSubmit)="loginSubmit()">
<ion-item>
<ion-label>Username : </ion-label>
<ion-input type="text" formControlName="username" clearInput></ion-input>
</ion-item>
<ion-item>
<ion-label>Password : </ion-label>
<ion-input type="password" formControlName="password" clearInput></ion-input>
</ion-item>
<button ion-button round>Login</button>
</form>
</div>
</div>
</ion-content>
home.ts:
export class HomePage {
isLogin: boolean = false;
isSignUp: boolean = false;
loginForm: FormGroup;
constructor(public navCtrl: NavController,
private fb: FormBuilder,
private alertCtrl: AlertController) {
}
ngOnInit() {
this.loginForm = this.fb.group({
username: '',
password: ''
});
}
login() {
this.isLogin = true;
this.isSignUp = false;
}
async loginSubmit() {
if (this.loginForm.value.username == "abc" && this.loginForm.value.password == "abc1") {
this.navCtrl.push(LoginSuccessPage, {
username: this.loginForm.value.username
});
}
else {
let alert = this.alertCtrl.create({
title: 'Login Failed',
buttons: [{
text: 'Ok',
handler: () => {
this.isLogin = false;
alert.dismiss();
this.loginForm.reset();
return false;
}
}]
});
alert.present();
}
}
}
IЯ могу получить данные формы и записать их, но когда я передаю одну из данных формы на следующую страницу,LoginSuccessPage, я получаю сообщение об ошибке.
Я не могу понять, где ошибка, какая-нибудь помощь, пожалуйста?