角度为9且ngrx引发错误的表单数据编辑

问题描述 投票:0回答:1

我正在尝试使用angular和ngrx进行表单编辑。我能够使用ngrx访问表单数据并将其传递给子组件,并且显示良好。但是,当我尝试编辑该字段时,出现“ ERROR TypeError:无法分配为仅读取对象'[object Object]'的属性'#fieldname'””。以下是我正在使用的代码段。

父组件:

 ngOnInit(): void {
   this.formData$ = this.store.pipe(select(fromData.getData));
 }

<app-child [afeData]="formData$ | async">
</app-child>

子组件

  <label>Name</label>
  <input id="input" type="text" [(ngModel)]="formData.name">
  <button type="button" (click)="SubmitData($event);" label="Save"></button>

[当我像下面在父组件上使用JSON.parse深度克隆响应表单数据时,它可以正常工作。有没有更好的方法可以实现此目的而无需深克隆对象?

 ngOnInit(): void {
      this.store.pipe(select(fromData.getData)).subscribe(res =>{
          this.fromData = JSON.parse(JSON.stringify(res)); 
   });


 }
angular ngrx ngrx-store ngrx-effects
1个回答
0
投票

我认为是时候开始使用_lodash了,_.cloneDeep()docs

© www.soinside.com 2019 - 2024. All rights reserved.