angular - 类型 'pipe' Angular 6 上不存在属性 'void'

标签 angular typescript rxjs angularfire2 angularfire

我不明白问题的原因。 我的代码来自 Service 文件,但出现错误

  1. 类型“void”上不存在属性“pipe”。
  2. 类型“{}”上不存在属性“$key”。

enter image description here

import { Injectable } from '@angular/core';
import { AngularFireDatabase, AngularFireList } from '@angular/fire/database';
import { switchMap } from 'rxjs/operators';
import { Observable } from 'rxjs';
@Injectable({
  providedIn: 'root'
})
export class CoursesService {

  constructor(private af: AngularFireDatabase) { }

  findAllCourses(): AngularFireList<any> {
    return this.af.list('courses');
  }

  findCourseDtl(coursUrl:string){
   this.af.list('courses', ref => ref.orderByChild('url').equalTo(coursUrl)).valueChanges()
  }

  findLessonsForCours(coursUrl:string): Observable<any>{
    return this.findCourseDtl(coursUrl)
   .pipe(switchMap(course => this.af.list('lessonsPerCourse/'+ course.$key ).valueChanges()));


}

}

最佳答案

您没有在 findCourseDtl 函数中返回任何值。

这可能是您想要的:

findCourseDtl(coursUrl:string){
  return this.af.list('courses', ref => ref.orderByChild('url').equalTo(coursUrl)).valueChanges()
}

关于angular - 类型 'pipe' Angular 6 上不存在属性 'void',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53952538/

相关文章:

javascript - RxJS Observable.if 执行这两个语句

angular-cli 服务器 - 如何将 API 请求代理到另一台服务器?

javascript - this._delegate.setNgStyle 不是 Angular 8 更新后的函数

html - 检测 Angular 4 中的实时窗口大小变化

javascript - 如何用 moment.js 改变时间?

javascript - Angular2 ngModel 更改输入类型 ="number"上的绑定(bind)

typescript - vuejs typescript 和子组件 "Avoid mutating a prop directly"

rxjs - RxJS可观察到,从第一次发射开始既发射先前值又发射当前值

javascript - 将事件中的 Rx.Observable 与 pausable 一起使用不会运行订阅功能

angular - 如何获取在其外部 "SetTimeout"内部生成的值