2016-11-12 1 views
3

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이 작동했으며 대부분의 예제에서 위의 방법에 대해서만 언급했습니다. 지금 무슨 일이 있었는데, 무엇이 바뀌 었습니까?

+0

이 당신의 생성자에서 양식을 초기화 시도 사용할 수 있습니다. 그것이 내가 초기화하고있는 곳입니다. – JoeriShoeby

+0

ngOnInit을 사용하여 작동시킬 수 있습니다. 그러나 왜 ionViewDidLoad가 작동하지 않았는지 확실하지 않았습니다. 그것은 비록 여기에 많은 문제가 없더라도 생성자에 물건을 추가하는 것을 피하는 것이 좋습니다. – raj

+0

제안 사항을 시도해 보셨습니까? 양식을 만들기 전에보기가 렌더링되는 것처럼 보이는 문제가 있습니다. – JoeriShoeby

답변

1

RC2에 큰 변화가있었습니다. 새 변경에 따라

ionViewDidLoad는 모든 항목이 이미로드되었음을 의미합니다. 어린이를 포함한 따라서 템플릿에서 항목을 사용하면 정의되지 않습니다.

우리는 새로운 ionViewWillLoad

ionViewWillLoad() { 
    this.form = this.formBuilder.group(); 
} 
+0

이미 답변을 해둔 것처럼 보입니다.) – JoeriShoeby

+0

어디서? 해당 문서는 아직 업데이트되지 않았습니다. 이 문제에서 알게되었습니다. https://github.com/driftyco/ionic/issues/8449 – raj

0

오류는 무엇이 잘못되었는지를 알려줍니다. 보기를 컴파일/렌더링하는 동안 Angular는 formGroup 인스턴스가 이미 존재해야합니다. 뷰를 컴파일/렌더링 한 후에 ionViewDidLoad get이 호출되었지만 템플릿에 오류가 표시되어 ionViewDidLoad가 호출되지 않았습니다. 확실하게하려면

생성자 또는 ngOnInit에서 양식을 정의하십시오. 그렇지 않으면 템플릿이 아직 작성되지 않았기 때문에 formGroup 인스턴스에 액세스 할 수 없습니다.

+0

https://ionicframework.com/docs/v2/resources/forms/ – raj

관련 문제