Angular Ionic Camera:用于具有名称的窗体控件的无值访问器

Angular Ionic Camera:用于具有名称的窗体控件的无值访问器,angular,ionic-framework,cordova-plugins,Angular,Ionic Framework,Cordova Plugins,我正在爱奥尼亚应用程序中使用cordova插件相机插件。我成功地使相机拍摄了一张照片,并在我得到以下错误后显示: No value accessor for form control with name 'photo' 我想我可能不完全理解FormBuilder是如何工作的。以下是我得到的: register.html <img *ngIf="register_form.controls.photo.value != ''" formControlName="photo" [src]="

我正在爱奥尼亚应用程序中使用cordova插件相机插件。我成功地使相机拍摄了一张照片,并在我得到以下错误后显示:

No value accessor for form control with name 'photo'
我想我可能不完全理解FormBuilder是如何工作的。以下是我得到的:

register.html

<img *ngIf="register_form.controls.photo.value != ''" formControlName="photo" [src]="domSanitizer.bypassSecurityTrustUrl(register_form.controls.photo.value)" />

register.ts文件

ionViewWillLoad() {
  this.register_form = this.formBuilder.group({
    ...
    photo: new FormControl('', Validators.required)
  });
}
...
onTakePicture(){
  ...
  this.camera.getPicture(options).then((imageData) => {
        const image: FormControl = (<any>this.register_form).controls.photo;
        image.setValue('data:image/jpeg;base64,' + imageData);
    }, (err) => {
  });
}
ionViewWillLoad(){
this.register\u form=this.formBuilder.group({
...
照片:新FormControl(“”,验证器。必填)
});
}
...
onTakePicture(){
...
this.camera.getPicture(选项)。然后((图像数据)=>{
const image:FormControl=(this.register\u form).controls.photo;
image.setValue('数据:image/jpeg;base64,'+imageData);
},(错误)=>{
});
}

有什么问题吗?

formControlName
只能用于实现
ControlValueAccessor
的控件或
指令。由于您使用的img未实现
ControlValueAccessor
,因此无法在此处使用


有关更多信息,请访问-

能否显示创建
FormGroup
的位置?您将某物分配给
注册表的位置
您需要使用化身而不是照片?我明白了!然后,我将设置一个包含数据的空输入文本字段。