THE SITUATION:
I am trying to make a very simple login form in my Ionic 2 app.
No matter what I try, I keep getting this error:
formGroup expects a FormGroup instance. Please pass one in.
THE CODE:
The page component:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { FormGroup, Validators, FormBuilder } from '@angular/forms';
@Component({
selector: 'login-page',
templateUrl: 'login-page.html'
})
export class LoginPage {
loginForm: FormGroup;
constructor(public navCtrl: NavController, private formBuilder: FormBuilder) {}
ionViewDidLoad()
{
console.log('Login page loaded');
this.loginForm = this.formBuilder.group({
email: ['', Validators.required],
password: ['', Validators.required],
});
}
submitLogin()
{
console.log('Doing login..');
}
}
The view:
LoginPage
Password
Submit
THE QUESTION:
Do you why am I getting the error?
Do you know what is wrong with that code?
Thanks!
解决方案
Add the code in the ionViewDidLoad into the constructor. It's probably not assigning the form in time, causing the view to use undefined