我想使用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);
}
在Firestore中创建新的survey
时,我会从surveyTemplate
对其进行初始化。
(ngModelChange)
应该是什么,以便我可以删除updateDb
函数?[ngModel]
在HTML中是什么,因此它显示了可观察到的this.survey
的异步数据?我想要类似[ngModel]="(survey | async)?.key"