如何在指令中获取FormGroup?

时间:2019-03-18 19:28:51

标签: angular angular6 angular7 angular-directive

在Angular 7表单上,我有:

<form [formGroup]="message" (ngSubmit)="onSubmit()">
  <input id="name" type="text" placeholder="Name" formControlName="name">
  <p class="error" *ngIf="message.get('name').errors">
    {{message.get('name')?.errors?.error}}
  </p>
</form>

如果字段name有任何错误,我将显示错误段落。

我宁愿使用一个简单的指令,而不是重复错误段落代码:

<p class="error" formValidationName="name"></p>  

我尝试创建指令:

@Directive({ selector: 'formValidationName' })

export class FormValidationNameDirective {

  constructor(el: ElementRef, renderer: Renderer) {

    renderer.setElementStyle(el.nativeElement, 'display', 'none');

    // Get formGroup

  }

}

如何在指令内部获取指令所在的formGroup?

在此示例中为消息formGroup。

我需要这个,以便在指令模板中可以呈现:

  <p class="error" *ngIf="message.get('name').errors">
    {{message.get('name')?.errors?.error}}
  </p>

消息是FormGroup实例。

0 个答案:

没有答案