Ionic 2
앱이 정상적으로 작동하고 있습니다. 이온 응용 프로그램을 rc-0
에서 rc-2
으로 업데이트했습니다. 그 다음부터는 이온 생애주기 이벤트 ionViewDidLoad
에 관한 문제에 직면하고 있습니다. 나는 가입 양식을 가지고있다. 이오니아 라이프 사이클이 작동하지 않습니다.
import {Validators, FormBuilder, FormGroup , AbstractControl } from '@angular/forms';
export class Signup {
form: FormGroup;
constructor( formBuilder: FormBuilder) { }
ionViewDidLoad() {
this.form = this.formBuilder.group({
name: ['', Validators.required],
email: ['', CustomValidator.emailValidator],
password: ['', Validators.compose([Validators.minLength(8),Validators.required])],
password_confirmation: ['', Validators.compose([Validators.minLength(8),Validators.required])]
} }
}
그리고 내가 가진 내 HTML 페이지에서
,<form [formGroup]="form" (ngSubmit)="signup()">
그러나 페이지가로드, 내 웹 콘솔에서 예외를 얻을 때
EXCEPTION: Error in ./Signup class Signup - inline template:9:8 caused by: formGroup expects a FormGroup instance. Please pass one in.
은 내가 form
변수가 믿고 html이로드되기 전에 정의되지 않았습니다. 내가 ngOnInit
시도하고 잘 작동합니다. Ionic
을 업데이트하기 전에 ionViewDidLoad
이 작동했으며 대부분의 예제에서 위의 방법에 대해서만 언급했습니다. 지금 무슨 일이 있었는데, 무엇이 바뀌 었습니까?
이 당신의 생성자에서 양식을 초기화 시도 사용할 수 있습니다. 그것이 내가 초기화하고있는 곳입니다. – JoeriShoeby
ngOnInit을 사용하여 작동시킬 수 있습니다. 그러나 왜 ionViewDidLoad가 작동하지 않았는지 확실하지 않았습니다. 그것은 비록 여기에 많은 문제가 없더라도 생성자에 물건을 추가하는 것을 피하는 것이 좋습니다. – raj
제안 사항을 시도해 보셨습니까? 양식을 만들기 전에보기가 렌더링되는 것처럼 보이는 문제가 있습니다. – JoeriShoeby