私は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