【发布时间】:2020-11-29 15:43:39
【问题描述】:
import { NgForm } from '@angular/forms';
import { Exercise } from './../exercise.model';
import { TrainingService } from './../training.service';
import { Component, OnInit, ViewChild } from '@angular/core';
import { AngularFirestore } from 'angularfire2/firestore';
import { Observable, Subscriber } from 'rxjs';
import 'rxjs/add/operator/map';
@Component({
selector: 'app-new-training',
templateUrl: './new-training.component.html',
styleUrls: ['./new-training.component.css'],
})
export class NewTrainingComponent implements OnInit {
exercises: Observable<Exercise[]>;
constructor(
private trainingService: TrainingService,
private db: AngularFirestore
) {}
ngOnInit(): void {
this.exercises = this.db
.collection('availableExercises')
.snapshotChanges()
.map((docArray) => {
return docArray.map((doc) => {
return {
id: doc.payload.doc.data().id,
name: doc.payload.doc.data().name,
duration: doc.payload.doc.data().duration,
calories: doc.payload.doc.data().calories,
};
});
});
}
onStartTraining(form: NgForm) {
this.trainingService.startExercise(form.value.exercise);
}
}
id、姓名、持续时间和卡路里有问题。它们都带有下划线,并且错误提示:所有四个的“未知”类型都不存在属性。所以不确定是什么问题。我也试过了
id: doc.payload.doc['id'],
name: doc.payload.doc['name'],
duration: doc.payload.doc['duration'],
calories: doc.payload.doc['calories'],
也不行。在 Maximilian Schwarzmuller 的教程之后重复。会给予任何帮助。
【问题讨论】:
-
在
docArray.map((doc) => {行中尝试添加:any喜欢docArray.map((doc: any) => { -
您期望的行为是什么,而不是您现在看到的?请编辑问题,以明确哪些问题未按您预期的方式工作,以及您为调试它所做的工作。
标签: javascript angular firebase google-cloud-firestore