使用* ngFor迭代AngularFirestoreDocument的属性

时间:2019-05-11 11:56:54

标签: angular firebase google-cloud-firestore angularfire2

我想使用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对其进行初始化。

  1. 我的HTML (ngModelChange)应该是什么,以便我可以删除updateDb函数?
  2. 我的[ngModel]在HTML中是什么,因此它显示了可观察到的this.survey的异步数据?我想要类似[ngModel]="(survey | async)?.key"
  3. 的东西

0 个答案:

没有答案