我不确定如何解决此错误。我已经看过一些帖子,但是我仍然没有解决这个问题的答案,我想这很简单,但是我对Angular还是很陌生,真的不知道如何解决它。
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { AngularFirestore } from '@angular/fire/firestore';
import { switchMap } from 'rxjs/operators';
import { ProjectPage } from './project-page';
@Component({
selector: 'app-project-page',
templateUrl: './project-page.component.html',
styleUrls: ['./project-page.component.scss']
})
export class ProjectPageComponent implements OnInit {
project$: ProjectPage[];
constructor(private afs: AngularFirestore, private route: ActivatedRoute) {}
ngOnInit() {
this.project$ = this.route.paramMap.pipe(
switchMap((params) => {
const name = params.get('name');
return this.afs.doc('projects/' + name).ref.get()
.then((doc) => {
return doc.data();
})
})
)
}
}
this.project$ = this.route.paramMap.pipe(
// ...
)
表示project$
的类型为Observable<T>
,其中T
是在this.afs.doc('projects/' + name).ref.get()
承诺内返回的类型。我猜这是ProjectPage[]
。
所以您的声明应该是:
project$: Observable<ProjectPage[]>;