Я хочу динамически построить форму для завершения опросов, используя объект AngularFirestoreDocument. Вот что у меня сейчас:
<div *ngFor="let key of objectKeys(surveyTemplate)">
{{key}}
<input [ngModel]="surveyTemplate[key]" (ngModelChange)="updateDb(key, $event)" />
</div>
И в моем component.ts:
this.surveyTemplate = {
'First Question': 0,
'Second Question': 0
};
this.objectKeys = Object.keys;
this.surveyDoc = this.afs.doc<any>(surveyUrl);
this.survey = this.surveyDoc.valueChanges();
updateDb(question: string, score: any) {
const doc = {};
doc[question] = score;
this.surveyDoc.update(doc);
}
Когда я создаюновый survey
в Firestore. Я инициализирую его из surveyTemplate
.
- Каким должен быть мой
(ngModelChange)
в HTML, чтобы я мог удалить функцию updateDb
? - Что мой
[ngModel]
в HTML, поэтому он показывает асинхронные данные из this.survey
наблюдаемые?Я хочу что-то вроде [ngModel]="(survey | async)?.key"