angularfie2 version 5输入'Observable&lt; {} []&gt;'不能分配给'Observable <any []>'

时间:2018-03-31 22:30:29

标签: angular typescript firebase-realtime-database ionic2 angularfire2

我正在使用angularfire2版本5,我收到以下错误:

  

输入'Observable&lt; {} []&gt;'不能分配给Observable类型&lt;任何[]&gt;。

这是我的代码:

  exercisesList$: Observable <any[]>;

  ionViewDidLoad() {
    this.exercisesList$ = this.workoutProvider.getExercises();
  }

getExercises()

 getExercises(){
    return this.db.list(`Exercises/${localStorage.getItem('workoutName')}`).valueChanges();
  }

HTML

  <ion-list>
    <ion-item *ngFor="let exercise of exercisesList$ | async">{{exercise.name}}</ion-item>
  </ion-list>

截图

enter image description here

任何人都可以解释valueChanges的类型是什么,以及如何解决这个问题。

感谢。

1 个答案:

答案 0 :(得分:3)

目前有一个未解决的问题:

https://github.com/angular/angularfire2/issues/1299

你有两种解决方法:

  • 根据转发提示,您只需将exercisesList$类型更改为Observable <{}[]>

  • 转换返回类型:

this.exercisesList$ = this.workoutProvider.getExercises() as Observable<any[]> this.exercisesList$ = (Observable<any[]>) this.workoutProvider.getExercises()