Я разрабатываю мобильное приложение, которое отправляет запрос в REST api, однако данные, которые необходимо передать, должны быть в формате dictionary . Таким образом, я придумал создать пустой формат словаря, как этот;
my_dict= { key_1: '', key_2: '', key_3: '', key_4: '', key_5: '', key_6: ''};
И я добавляю значение к каждому соответствующему ключу с помощью:
this.my_dict.key_1= this.my_form.value.value_1;
this.my_dict.key_2= this.my_form.value.value_2;
this.my_dict.key_3= this.my_form.value.value_3;
this.my_dict.key_4= this.my_form.value.value_4;
this.my_dict.key_5= this.my_form.value.value_5;
this.my_dict.key_6= this.my_form.value.value_6;
Я присваиваю значение из FormGroup . Я получаю доступ к каждому FormControl через this.<form>.value.<form_control_name>
. Пример: this.my_form.value.value_1
Сейчас я пытаюсь найти наиболее эффективный способ хранения значений в словаре, например, используя для цикла . Кто-нибудь знает, как преобразовать мой код в для цикла способ?
Это вся форма
<!-- Transportation Form -->
<form [formGroup]="transpo_form" #f="ngForm">
<!-- Form Item 1 (Description) -->
<ion-item>
<ion-input placeholder="Description (Optional)" type="text" formControlName="description" clearInput></ion-input>
</ion-item>
<!-- Form Item 2 (Location) -->
<ion-item>
<ion-input placeholder="Location" formControlName="location" required clearInput ></ion-input>
</ion-item>
<!-- Throw an error if field is invalid -->
<div *ngIf="!transpo_form.controls.location.valid && (transpo_form.controls.location.dirty || submit_attempt)" class="validator-error">
* This field is required
</div>
<!-- Form Item 3 (Vehicle Type) -->
<ion-item>
<ion-label>Vehicle Type</ion-label>
<ion-select value="notifications" interface="action-sheet" formControlName="vehicle" required>
<ion-select-option>Tricycle</ion-select-option>
<ion-select-option>Bus</ion-select-option>
<ion-select-option selected>Jeepney</ion-select-option>
<ion-select-option>Taxi</ion-select-option>
<ion-select-option>Tricycle</ion-select-option>
<ion-select-option>Train</ion-select-option>
</ion-select>
</ion-item>
<!-- Throw an error if field is invalid -->
<div *ngIf="!transpo_form.controls.vehicle.valid && (transpo_form.controls.vehicle.dirty || submit_attempt)" class="validator-error">
* This field is required
</div>
<ion-item-divider></ion-item-divider>
<ion-item>
<ion-label>Arrival Date</ion-label>
<ion-datetime placeholder="Select Date" formControlName="arrival_date" required></ion-datetime>
</ion-item>
<div *ngIf="!transpo_form.controls.arrival_date.valid && (transpo_form.controls.arrival_date.dirty || submit_attempt)" class="validator-error">
* This field is required
</div>
<ion-item>
<ion-label>Arrival Time</ion-label>
<ion-datetime display-format="h:mm A" picker-format="h:mm A" placeholder="Select Time" formControlName="arrival_time" required></ion-datetime>
</ion-item>
<div *ngIf="!transpo_form.controls.arrival_time.valid && (transpo_form.controls.arrival_time.dirty || submit_attempt)" class="validator-error">
* This field is required
</div>
<ion-item>
<ion-input type="number" placeholder="Cost" formControlName="cost" required></ion-input>
</ion-item>
<div *ngIf="!transpo_form.controls.cost.valid && (transpo_form.controls.cost.dirty || submit_attempt)" class="validator-error">
* This field is required
</div>
<div class="submit-button">
<ion-button color="success" expand="block" (click)="submit()">Add to my expenses</ion-button>
</div>
</form>
Примечание: Извините за вопрос нуб, потому что яНа самом деле я новичок в Ionic 4 с AngularJS в качестве бэкэнда, и я не могу найти для этого полезное руководство.