Angular 6:无法读取未定义的属性'get'

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (180)

我正在练习Angular,当我尝试使用“内置验证器”时,我遇到了问题。我尝试将表单字段的值作为参数传递,但是当我尝试这样做时,我只是将错误放在标题“无法读取属性'获取'未定义”中:

form.component.ts

this.form = new FormGroup({
      'name': new FormControl(this.name, [
        Validators.required,
        Validators.minLength(4),
        forbiddenNameValidator(this.name)
      ]),
      'alterEgo': new FormControl(this.alterEgo),
      'power': new FormControl(this.power, Validators.required)
    });

...更多代码......

get name(): string { return this.form.get('name').value };
get power(): string { return this.form.get('power').value };

当我尝试将forbiddenNameValidator(this.name)方法作为参数发送时,我得到了该错误。

form.component.html

<div class="form-group">
   <label for="name">Name</label>
   <input type="text" class="form-control" name="name" formControlName="name">
</div>

这是我得到的错误:

提问于
用户回答回答于

[formGroup]="form"到HTML表单

<div class="form-group" [formGroup]="form">
   <label for="name">Name</label>
   <input type="text" class="form-control" name="name" formControlName="name">
</div>

扫码关注云+社区

领取腾讯云代金券