Использование элементов управления с шаблонно-управляемыми формами angular - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь использовать NGForm в angular, но я не понимаю, как использовать элементы управления ngForm

спасибо

stackblitz: https://stackblitz.com/edit/angular-gt66nu

вот пример:

компонент приложения. html

<form name="form" #f="ngForm">

<div>
    <label>name</label>
    <input name="name" [(ngModel)]="model.name">
</div>
    <div>
        <label>surname</label>
        <input name="surname" [(ngModel)]="model.surname">  
    </div>


 </form>


app-component.ts

import { Component, AfterViewInit,ViewChild } from '@angular/core';
import {NgForm} from '@angular/forms'

@Component({
selector: 'my-app',
templateUrl: 'app.component.html'
})

export class AppComponent implements AfterViewInit {
model: any = {};
oldForm;
@ViewChild('f', {static: false}) form: NgForm
onSubmit() {
 alert('SUCCESS!! :-)\n\n' + JSON.stringify(this.model))
}

ngAfterViewInit() {
     this.oldForm = this.form.controls
     console.log('form: ',this.form);
     this.form.form.valueChanges.subscribe( item => {
       console.log('item: ' ,item);
     })
   }
 }


consol
enter image description here

1 Ответ

1 голос
/ 17 марта 2020

Посмотрите Angular Документы NgForm или ознакомьтесь с Angular учебными пособиями для Формы на основе шаблонов .

NgForm: directive

Создает экземпляр FormGroup верхнего уровня и связывает его с формой для отслеживания совокупного значения формы и статуса проверки.

Простой пример:

import {Component} from '@angular/core';
import {NgForm} from '@angular/forms';

@Component({
  selector: 'example-app',
  template: `
    <form #f="ngForm" (ngSubmit)="onSubmit(f)" novalidate>
      <input name="first" ngModel required #first="ngModel">
      <input name="last" ngModel>
      <button>Submit</button>
    </form>

    <p>First name value: {{ first.value }}</p>
    <p>First name valid: {{ first.valid }}</p>
    <p>Form value: {{ f.value | json }}</p>
    <p>Form valid: {{ f.valid }}</p>
  `,
})
export class SimpleFormComp {
  onSubmit(f: NgForm) {
    console.log(f.value);  // { first: '', last: '' }
    console.log(f.valid);  // false
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...