FormGroupDirective directive    npm Package @angular/forms   Module import { FormGroupDirective } from '@angular/forms';   Source forms/src/directives/reactive_directives/form_group_directive.ts     Binds an existing FormGroup to a DOM element.  Overview @Directive({
    selector: '[formGroup]',
    providers: [formDirectiveProvider],
    host: { '(submit)': 'onSubmit($event)', '(reset)': 'onReset()' },
    exportAs: 'ngForm'
})
class FormGroupDirective extends ControlContainer implements Form, OnChanges {
  get submitted: boolean
  directives: FormControlName[]
  form: FormGroup
  ngSubmit: new EventEmitter()
  ngOnChanges(changes: SimpleChanges): void
  get formDirective: Form
  get control: FormGroup
  get path: string[]
  addControl(dir: FormControlName): FormControl
  getControl(dir: FormControlName): FormControl
  removeControl(dir: FormControlName): void
  addFormGroup(dir: FormGroupName): void
  removeFormGroup(dir: FormGroupName): void
  getFormGroup(dir: FormGroupName): FormGroup
  addFormArray(dir: FormArrayName): void
  removeFormArray(dir: FormArrayName): void
  getFormArray(dir: FormArrayName): FormArray
  updateModel(dir: FormControlName, value: any): void
  onSubmit($event: Event): boolean
  onReset(): void
  resetForm(value: any = undefined): void
  // inherited from forms/ControlContainer
  name: string
  get formDirective: Form | null
  get path: string[] | null
  // inherited from forms/AbstractControlDirective
  get control: AbstractControl | null
  get value: any
  get valid: boolean | null
  get invalid: boolean | null
  get pending: boolean | null
  get disabled: boolean | null
  get enabled: boolean | null
  get errors: ValidationErrors | null
  get pristine: boolean | null
  get dirty: boolean | null
  get touched: boolean | null
  get status: string | null
  get untouched: boolean | null
  get statusChanges: Observable<any> | null
  get valueChanges: Observable<any> | null
  get path: string[] | null
  reset(value: any = undefined): void
  hasError(errorCode: string, path?: string[]): boolean
  getError(errorCode: string, path?: string[]): any
} How To Use This directive accepts an existing FormGroup instance. It will then use this FormGroup instance to match any child FormControl, FormGroup, and FormArray instances to child FormControlName, FormGroupName, and FormArrayName directives. Set value: You can set the form's initial value when instantiating the FormGroup, or you can set it programmatically later using the FormGroup's setValue or patchValue methods. Listen to value: If you want to listen to changes in the value of the form, you can subscribe to the FormGroup's valueChanges event. You can also listen to its statusChanges event to be notified when the validation status is re-calculated. Furthermore, you can listen to the directive's ngSubmit event to be notified when the user has triggered a form submission. The ngSubmit event will be emitted with the original form submission event. Example In this example, we create form controls for first name and last name. import {Component} from '@angular/core';
import {FormControl, FormGroup, Validators} from '@angular/forms';

@Component({
  selector: 'example-app',
  template: `
    <form [formGroup]="form" (ngSubmit)="onSubmit()">
      <div *ngIf="first.invalid"> Name is too short. </div>

      <input formControlName="first" placeholder="First name">
      <input formControlName="last" placeholder="Last name">

      <button type="submit">Submit</button>
   </form>
   <button (click)="setValue()">Set preset value</button>
  `,
})
export class SimpleFormGroup {
  form = new FormGroup({
    first: new FormControl('Nancy', Validators.minLength(2)),
    last: new FormControl('Drew'),
  });

  get first(): any { return this.form.get('first'); }

  onSubmit(): void {
    console.log(this.form.value);  // {first: 'Nancy', last: 'Drew'}
  }

  setValue() { this.form.setValue({first: 'Carson', last: 'Drew'}); }
} npm package: @angular/forms NgModule: ReactiveFormsModule Selectors [formGroup] Inputs  formGroup bound to FormGroupDirective.form  Outputs  ngSubmit bound to FormGroupDirective.ngSubmit  Exported as  ngForm  Constructor  constructor(_validators: any[], _asyncValidators: any[])
 Members get submitted: boolean directives: FormControlName[] form: FormGroup ngSubmit: new EventEmitter() ngOnChanges(changes: SimpleChanges): void get formDirective: Form get control: FormGroup get path: string[] addControl(dir: FormControlName): FormControl getControl(dir: FormControlName): FormControl removeControl(dir: FormControlName): void addFormGroup(dir: FormGroupName): void removeFormGroup(dir: FormGroupName): void getFormGroup(dir: FormGroupName): FormGroup addFormArray(dir: FormArrayName): void removeFormArray(dir: FormArrayName): void getFormArray(dir: FormArrayName): FormArray updateModel(dir: FormControlName, value: any): void onSubmit($event: Event): boolean onReset(): void resetForm(value: any = undefined): void

    
{'path': 'public/docs/angular~5/api/forms/formgroupdirective.html', 'source': 'DevDocs.IO'}