Я использую angular версии 9. И я создал одну форму с 5 полями, которые называются полное имя, адрес электронной почты, телефон, компания, адрес. Я использую в своей форме директиву ngForm для получения отправленных данных при каждой отправке и обрабатываю событие ngSubmit для получения данных формы. Но я не могу добавить этот объект в массив. как этого добиться? Вот мой код ...
import { Component, OnInit } from '@angular/core';
import { NgForm, EmailValidator } from '@angular/forms';
import { ContactListService } from '../contact-list.service';
import { JsonPipe } from '@angular/common';
@Component({
selector: 'app-new-contact',
templateUrl:'./new-contact.component.html',
styleUrls: ['./new-contact.component.css']
})
export class NewContactComponent implements OnInit {
constructor(private contactList: ContactListService) { }
arraydata:formData[];
ngOnInit(): void {
}
data(f:NgForm){
this.arraydata.push(f.value);
}
}
interface formData{
fullName:string;
email:string;
phone:number;
company:string;
address:string;
}
<form #f="ngForm" (ngSubmit)="data(f)">
<div class="form-group row">
<label for="fullName" class="col-sm-2 col-form-label">Full Name</label>
<div class="col-sm-10">
<input type="text" required ngModel name="fullName" name="fullName" class="form-control"
id="fullName" placeholder="Please Enter Your Full Name">
</div>
</div>
<div class="form-group row">
<label for="email" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="email" required ngModel name="email" name="email" class="form-control" id="email"
placeholder="Please Enter Your Email">
</div>
</div>
<div class="form-group row">
<label for="phone" class="col-sm-2 col-form-label">Phone</label>
<div class="col-sm-10">
<input type="number" required ngModel name="phone" name="phone" class="form-control" id="phone"
placeholder="Please Enter Your Phone Number">
</div>
</div>
<div class="form-group row">
<label for="company" class="col-sm-2 col-form-label">Company</label>
<div class="col-sm-10">
<input type="text" required ngModel name="company" name="company" class="form-control"
id="company" placeholder="Please Enter Your Company Name">
</div>
</div>
<div class="form-group row">
<label for="address" class="col-sm-2 col-form-label">Address</label>
<div class="col-sm-10">
<input type="text" required ngModel name="address" name="address" class="form-control"
id="address" placeholder="Please Enter Your Address">
</div>
</div>
<button style="float:right" class="btn btn-primary">Create</button>
</form>