I am trying to pass an object as parameter using Angular 9.0.7 in a select.
Code looks like this:
<div *ngIf="foundAddresses == true">
<label class="bold">Select Address</label>
<select [ngClass]="{'error-message' : orderForm.controls['address'].touched && orderForm.controls['address'].hasError('required')}" (change)="updateAddress($event.target.value)" formControlName="address" class="titlewidth bottomspacing findAddressSelect">
<option>Please select</option>
<option *ngFor="let address of addresses" value="{{address}}">
{{address.summaryline}}
</option>
</select>
</div>
The addresses is an array of objects, where address is an object containing different key-value pairs. An example of an object entry in the array looks like this:
{
"addressline1": "1 Heol Dolwen",
"summaryline": "1 Heol Dolwen, Cardiff, South Glamorgan, CF14 1RX",
"number": "1",
"premise": "1",
"street": "Heol Dolwen",
"posttown": "Cardiff",
"county": "South Glamorgan",
"postcode": "CF14 1RX",
"recodes": "CF4 1RX:1A:199812"
},
And I am trying to get the value like this:
updateAddress(address){
this.addressSelected = true;
this.selectedAddress = address;
console.log(this.selectedAddress);
}
When I am printing the value that gets passed over, the console log shows [object Object]. I have found some conflicting answers where people were using ngModel, however, I have noticed this method is deprecated.
The form has been created using this:
<form [formGroup]="orderForm" (ngSubmit)="onSubmit()" novalidate>
I have used formGroup as the variable type and formBuilder.group to add Validators to each field.
What should I change to be able to pass it over to my controller (.ts) file?