加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – Reactive Forms双向绑定错误:无法分配给只读属性

发布时间:2020-12-17 07:11:56 所属栏目:安全 来源:网络整理
导读:我试图通过以下代码实现双向绑定: export interface User { name: string; subscribed: boolean;}export class UserEditComponent implements OnInit { modifiedUser: User; userForm: FormGroup; ngOnInit() { this.userForm = this.fb.group({ name: ['',
我试图通过以下代码实现双向绑定:

export interface User {
  name: string;
  subscribed: boolean;
}

export class UserEditComponent implements OnInit {
  modifiedUser: User;
  userForm: FormGroup;

  ngOnInit() {
    this.userForm = this.fb.group({
      name: ['',Validators.required],subscribed: false
    });

    this.route.paramMap.switchMap((params: ParamMap) => {
      return this.userService.getUser(params.get('id'));
    }).subscribe((user) => {
      this.modifiedUser = user;
      this.userForm.setValue({
        name: this.modifiedUser.name,subscribed: this.modifiedUser.subscribed
      });
    });

    this.userForm.valueChanges.subscribe((data) => {
      this.modifiedUser.subscribed = data.subscribed;
    });
  }
}
<form [formGroup]="userForm">
  <textarea class="form-control" formControlName="name">{{modifiedUser.name}}</textarea>
  <input type="checkbox" class="custom-control-input" formControlName="subscribed">
</form>

但是,我总是得到错误TypeError:一旦表单出现,就不能在控制台中分配给对象'[object Object]’的只读属性’subscribed’.知道为什么吗?

解决方法

this.modifiedUser原来确实是只读的.我不得不简单地制作用户对象的深层副本来解决问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读