У меня есть отдельные документы Firestore для каждого соревнования с указанием, кто судит:
export class Competition {
...
judges: {};
}
В другом документе у меня есть множители, которые используются для оценки данного участника / одного судьи [введите изображениеописание здесь] [2]
export class Protocol {
...
multipliers: [];
}
Эти два параметра зависят от конкуренции.
Моя цель - построить форму в диалоговом окне: число столбцов зависит от количества судей, строки - от того, сколько наблюдений у нас есть для данного участника (множители)
resetForm(form?: NgForm){
if(form!=null)
form.resetForm();
this.service.protocolData = {
...
result: {}
}
}
В настоящее время я нахожусь на стадии, когда, если я помещаю какое-то значение во вход, оно копируется во все поля ввода.Насколько я понял, это связано с тем, как входные данные направляются в ngModel:
<tr *ngFor="let multiplier of multipliers; let i=index">
<td>{{i+1}}</td>
<td>{{ multiplier }}</td>
<td class="point" *ngFor="let jud of judges | keyvalue; let j=index">
<mat-form-field appearance="outline">
<mat-label>{{i+1}}. exercise</mat-label>
<input
placeholder="{{jud.key + (i+1)}}"
[(ngModel)]="service.protocolData.result"
name="{{jud.key + (i+1)}}"
matInput
(keyup.enter)="keytab(i)"
(keyup.keydown)="keytab(i)"
id="{{i}}">
</mat-form-field>
</td>
</tr>
Здесь я застрял, я не могу направить входные значения в protocolData.Даже пытался ссылаться на Object и Array, как это, но он также выдает ошибку:
[(ngModel)]="service.protocolData.result['jud.key'][i]"
Любая помощь или другое направление приветствуется.