Перебирайте свойства AngularFirestoreDocument, используя * ngFor - PullRequest
0 голосов
/ 11 мая 2019

Я хочу динамически построить форму для завершения опросов, используя объект 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.

  1. Каким должен быть мой (ngModelChange) в HTML, чтобы я мог удалить функцию updateDb?
  2. Что мой[ngModel] в HTML, поэтому он показывает асинхронные данные из this.survey наблюдаемые?Я хочу что-то вроде [ngModel]="(survey | async)?.key"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...