formBuilderに初期値が設定されない
下記のように、指定したuid(userkey)のユーザーの編集をしたいのですが
formBuilderをinitで設定できず、html側のエラーが出てしまっています。
ngOnInit() {
this.usersService.readUser(this.userkey)
.subscribe((user)=>{
this.data = user;
this.validations_form = this.formBuilder.group({
email: new FormControl(this.data.email, Validators.required),
message: new FormControl(this.data.message),
name: new FormControl(this.data.name, Validators.required),
);
});
};
readUser(uid:string) {
return this.afs.collection('users').doc(uid).valueChanges();
}
ERROR TypeError: Cannot read property 'get' of undefined
デバッグで追ったところ、ngOnInit()でformBuilderが適切に設定されないままhtmlに移動しているように見えます。
何が原因なのでしょうか?